相关疑难解决方法(0)

在x64和x86上,实体框架的旋转速度要慢得多

我的同事昨天发布了这个问题:即使对于微小的DbContext,7秒的EF启动时间.

在获取代码并将其移至单独的解决方案以尽可能地隔离它之后,我发现包含项目的平台目标对EF启动过程的运行时有深远的影响.

当针对x64时,我看到测试需要大约7秒来启动第一个DbContext并且<1秒来启动第二个DbContext(与我的同事的调查结果一致,也是针对x64).但是,当我将平台目标切换到x86时,第一个DbContext旋转时间减少了大约4秒,减少到3.34633秒,而第二个DbContext花费了与x64情况相同的时间.

鉴于此,当针对64位系统和32位系统时,实体框架似乎正在经历一个完全不同的初始化过程.有没有人能够深入了解引擎盖下的内容来解释这个问题?

c# performance 64-bit x86 entity-framework

21
推荐指数
1
解决办法
1404
查看次数

SQL Server连接的初始连接速度很慢.为什么?

我遇到了在两个站点安装了C#应用程序的情况,其中与SQL Server的初始连接非常慢.我编写了一个测试应用程序来验证减速发生的位置,它是在第一个SQLConnection.Open语句中.通过命名管道建立与服务器的连接大约需要41秒.我们认为这可能是一个DNS问题,但它使用TCP/IP连接速度一样慢.建立初始连接后,将连接合并,应用程序正常响应.工作站和服务器都是运行Windows 7 Pro,Core 2 Duo 3.16 Ghz和4 gig Ram的不错的机器.我在微软论坛上找到了以下文章:

http://social.msdn.microsoft.com/Forums/en/windowscompatibility/thread/f295994c-5812-4e46-8ac9-f05471d4dd54

关闭LLMNR协议确实将初始连接时间缩短了大约一半到21秒.但是,这仍然需要很长时间才能获得与SQL Server的初始连接.唯一与我们的标准略有不同的是,在这种情况下,DNS是通过路由器完成的,而不是实际的服务器.到目前为止,这只发生在两个地方,其他地方没有任何问题.任何帮助,将不胜感激.

谢谢你,丹尼斯

c# connection ado.net sql-server-2005

13
推荐指数
3
解决办法
3万
查看次数