gpt4 book ai didi

c# - IIS7 在 5 个请求后停止工作

转载 作者:太空狗 更新时间:2023-10-29 19:39:45 25 4
gpt4 key购买 nike

这是我的问题:

我刚刚被带到一个庞大的 asp.net C# 项目中,我负责解决一些性能问题(不是我的专业领域)。更具体地说,在 5 - 7 次重定向/ajax 调用之后,Web 服务器停止响应并且整个页面(最终是浏览器)卡住。

我不认为这是一个编码问题,因为我在几个页面中设置了断点(Page_Load 方法)并且在 5 个请求之后它甚至没有到达断点。

我不认为这与 this issue 有关因为我增加了浏览器的每个服务器参数的最大连接数,所以我得到了相同的行为。此外,在一个浏览器 IE 中发出这 5 个请求后,应用程序也会在 FF 中停止工作。

这不是资源问题,因为 w3wp.exe 进程永远不会超过 500MB 内存。

我在使用 Fiddler 和其他工具监视请求时注意到的一件事是,服务器在加载图像文件(png、jpg)时需要很长时间。我不知道这是否相关。

我在服务器上启用了失败的请求跟踪,我唯一注意到的是一些请求失败并出现 401 错误,即使我已将匿名身份验证设置为启用。这是确切的信息

MODULE_SET_RESPONSE_ERROR_STATUS 

ModuleName ManagedPipelineHandler

Notification 128
HttpStatus 401
HttpReason Unauthorized
HttpSubStatus 0
ErrorCode 0

ConfigExceptionInfo

Notification EXECUTE_REQUEST_HANDLER

ErrorCode The operation completed successfully. (0x0)

此消息有时会随 ModuleName: ScriptModule 一起抛出

我已经在这件事上浪费了 2 天时间,我的想法已经用完了,所以任何建议都将不胜感激。

最佳答案

与任何大型一般性问题一样,诊断问题的最佳方法是弄清楚如何将问题分解为更小的部分、如何假设问题以及如何验证或覆盖您的假设。我的第一个倾向是假设此特定情况下的服务器端进程需要很长时间,导致您的客户端请求被阻止,从而使整个事情看起来停滞不前。

从那里开始,我会尝试通过创建独立的客户端测试来复制长时间运行的服务器端进程——也许如果 URL 是 HTTP 获取的,我会单独测试相同的 URL。如果它们是 HTTP 帖子,我会在可行的情况下创建一个独立的测试表单,以查看每个请求会发生什么。如果找到一个长时间运行的服务器端进程,那么您就有了一个起点。

如果没有长时间运行的服务器端进程,则可能是需要研究的 JavaScript/客户端编码问题。但绝对是,当你在处理一个大型的、不熟悉的项目时,你最好的办法是弄清楚如何将问题分解成更小的组件,然后再进行测试

关于c# - IIS7 在 5 个请求后停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8929673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com