我的一个应用程序中出现了一个奇怪的问题。该应用程序是 .Net 2.0 并托管在 Windows 2003 服务器上的 IIS 6.0 上。此应用程序在过去 2.5 年中一直运行良好。但突然自 8 月 15 日以来,我们面临间歇性性能问题和请求超时。页面加载需要几分钟,有时我们会收到 Request timed out 错误,有时页面只是不断加载而没有呈现。这纯粹是间歇性的,并且在导航任何页面时随时突然发生,并且没有观察到定义的模式。所有其他时间相同的代码和导航工作得很好。在过去的几天里,这种间歇性表现的频率有所增加。
IIS 中有一个单独的应用程序池 httpRunTime ExecutionTimeout 设置设置为 250 访问应用程序的用户数 ~100
我知道增加 httpRunTime ExceutionTimeout 设置会使这个错误不会被记录。但我们的目标是了解自过去几周以来页面突然超时的原因和位置,并始终使性能更快,而不会出现任何间歇性问题。这是 IIS/内存池/工作线程耗尽的问题。如果是,是否可以更改某些设置以使应用程序执行得更快?
数据库也很好,查询执行速度很快。那里没有问题。并且应用程序中也没有内存泄漏代码。
示例 EventViewer 日志如下
----------------------------------------------------------------------------------------------------------------------
Event code: 3001
Event message: The request has been aborted.
Event time: 9/5/2013 4:20:24 PM
Event time (UTC): 9/5/2013 8:20:24 PM
Event ID: cbc5ec25d6de466680c5e3575726b8dd
Event sequence: 358
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/4262/ROOT-1-13022880541327
Trust level: Full
Application Virtual Path: /
Application Path: E:\inetpub\wwwroot\Myapp\
Machine name: mymachine
Process information:
Process ID: 252
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: HttpException
Exception message: Request timed out.
Request information:
Request URL: myapp/page.aspx
User host address: ip address
User: userid
Is authenticated: True
Authentication Type: Negotiate
Thread account name: NT AUTHORITY\NETWORK SERVICE
Thread information:
Thread ID: 5
Thread account name: NT AUTHORITY\NETWORK SERVICE
Is impersonating: False
Stack trace:
Custom event details:
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
---------------------------------------------------------------------------------------------------------------------------
任何帮助都非常感谢,因为我们正面临客户在此问题上的大量升级,我们需要尽早解决此问题。
谢谢, VijayGanesh