由于某种原因,在第一次打开与sql server数据库的连接需要7秒,后续连接需要一秒钟。任何想法可能是什么原因?
我正在使用C#和asp.net
它在编译之后,每次我重新启动网站时都是本质的,这意味着每次需要实际创建“第一”连接。我知道设置连接池有开销,但我从未见过我应该花7秒钟进行设置。
3 个答案:
答案 0 :(得分:1)
第一次建立连接时会产生很多开销。每个后续连接都使用连接池(假设您具有相同的连接字符串),并且不需要进行初始设置。
修改:有关连接池的一些信息,请参阅this link或this one。
答案 1 :(得分:1)
除连接池和CLR编译外,不要忘记数据库服务器上的数据和计划缓存也可能“冷”......
我看到第一次打电话给一个非常“冷”的网站需要5-10秒来响应按钮点击(例如“搜索”)到屏幕上的数据。
答案 2 :(得分:0)
每次编译后都是这个吗?由于JIT编译而不是SqlConnection本身是“滞后时间”吗?