我们使用经典的asp和ASP.NET MVC 4(C#)并行运行一个站点。 在高stream量期间,asp页面中的数据库查询运行非常慢。 同时,在同一个站点上,C#页面总是正常连接到同一个数据库。 CPU,内存和networking使用在两台服务器上都是正常的(强大的硬件/连接)。
该网站多年来一直运行相同的设置和stream量负载,没有任何问题,这种行为大约在一周前开始。 有谁知道什么可能是错的?
数据库服务器:SQL Server 2012networking版
Web服务器:Windows Server 2012 IIS 8.0
Connection string: conn.connectionString = "Provider=SQLNCLI11;Persist Security Info=True;User ID=abc;Password=abc;Initial Catalog=sampledb;Data Source=192.168.10.11"
iis服务器日志中的样本加载时间(毫秒):
2015-09-05 18:00:07 23642 /page.asp 2015-09-05 18:00:07 13547 /page.asp 2015-09-05 18:00:07 93 /ASP.NET 2015-09-05 18:00:07 11172 /page.asp 2015-09-05 18:00:07 78 /ASP.NET 2015-09-05 18:00:07 578 /ASP.NET 2015-09-05 18:00:07 10828 /page.asp 2015-09-05 18:00:07 32252 /page.asp 2015-09-05 18:00:07 13641 /page.asp
有时,asp页面的数字更好:
2015-09-05 18:07:30 218 /page.asp 2015-09-05 18:07:30 3281 /page.asp 2015-09-05 18:07:30 46 /page.asp 2015-09-05 18:07:30 2375 /page.asp 2015-09-05 18:07:30 78 /page.asp 2015-09-05 18:07:30 46 /ASP.NET 2015-09-05 18:07:30 203 /ASP.NET 2015-09-05 18:07:30 2906 /page.asp 2015-09-05 18:07:30 1781 /page.asp
Asp查询通常只是很慢,但有时我们会得到一个错误:
Microsoft SQL Server Native Client 11.0 error '80040e31' Query timeout expired
testing.asp页面运行六个相同的sql查询,总页面加载时间以秒为单位。 一个查询需要13秒钟,其他的几乎是瞬间的。 接下来运行另一个查询运行缓慢,有时他们都快。
Query 1: 0 Query 2: 0,3554688 Query 3: 0,375 Query 4: 13,32813 Query 5: 13,32813 Query 6: 13,32813
在您的Web服务器(或同一networking中的另一台PC)上安装SQL Server Management Studio,并运行您的应用程序正在运行的一些查询。
启用您的客户统计。 这些可能会告诉你发生了什么事情。
你运行的越多,收集和显示的统计数据就越多