我有一个生产服务器(可通过互联网获得),其中两个应用程序正在运行,一个是Java,另一个是Dot Net。 Java应用程序的响应速度比Dot Net快。对于点网应用程序MVC,使用My SQL,Entity Framework和LINQ。 Java应用程序也连接到同一服务器的MY SQL。
在dot net应用程序中,它运行控制器操作并且在离开控制器操作之前,它将时间戳写入日志文件。使用LINQ执行查询并过滤数据。所有这些都发生在2秒钟内。但是对浏览器的响应需要时间(15-20秒)。在Chrome浏览器“网络”选项卡中,所有javascripts / css / images都在不到100毫秒的时间内加载。我检查了“等待(TTFB)”正在采取主控制器动作,它需要大约15秒。文件也不大,只有20 kb。
现在我的问题是, 1.这么大的TTFB是什么原因造成的? 2.如何减少TTFB,(没有找到合适的答案)。是因为Entity Framework / LINQ。
提前致谢。
答案 0 :(得分:1)
对于Entity Framework / LINQ中的数百万条记录会出现性能问题,如果查询使用不正确,例如使用.ToList()函数来计算行而不是仅使用.Count()。