【发布时间】:2025-12-01 17:55:01
【问题描述】:
我在 IIS 6.0 上有一个网络应用程序。它不断处理大量的短时间请求(15-30 毫秒的处理时间)。当出现一些 (1-10) 个长时间请求时,所有短时间请求都会变慢(处理时间长达 2000-6000 毫秒,其中一些请求超过 100000)。
是否应该在 IIS 中的请求之间进行隔离?一个请求不应该中断另一个请求吗?
在 IIS 日志中是这样的:
[Normal work]
cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken
192.168.1.7 200 0 0 2394 524 734
192.168.1.7 200 0 0 2394 524 0
192.168.1.7 200 0 0 2394 524 0
192.168.1.7 200 0 0 2394 524 15
192.168.1.7 200 0 0 2394 524 15
192.168.1.7 200 0 0 2394 524 0
192.168.1.7 200 0 0 2394 524 0
192.168.1.7 200 0 0 2394 524 15
192.168.1.7 200 0 0 2394 524 46
[Slowdown]
cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken
192.168.1.7 200 0 64 0 522 508251
192.168.1.7 200 0 64 0 522 91827
192.168.1.7 200 0 64 0 522 386438
192.168.1.7 200 0 64 0 522 445947
192.168.1.7 200 0 0 178 522 35545
192.168.1.7 200 0 64 0 522 274130
sc-win32-status 64 表示“指定的网络不再可用”但没有断开连接。 我尝试使用 IIStuner (http://iistuner.codeplex.com/) 等工具调整 IIS,但没有任何效果。
- 为什么会出现这种情况?
- 如何解决这个问题?
【问题讨论】: