ASP.NET Requests Queued导致网站崩溃. SQL后端,IIS6
我继承了一个我需要帮助的有点复杂的系统(和问题).
我有一个网络服务器w /以下规格: >硬件: > Server 2003 32位 该系统服务于大量人员,并且在工作时间内带宽相当稳定,达到~68,000kbit / s 有时系统“关闭” – 网站变得非常慢,从而产生大量的电话.事情通常会减慢60秒,但长度差异很大.有时只有几秒钟,有时甚至是3分钟或更长时间. 我的应用程序池设置为回收大约600mb的消耗内存.这不是确切的,但他们自己回收并取得了很大的成功.有时我会手动回收“主”池以清除我所描述的问题. 当事情进展缓慢时,这就是我所知道的. >网络带宽需要大幅下降. 在我看来,这就是我想象中发生的事情. 有人要求系统生成报告或数据.这会占用一个消耗大量线程(即所有可用线程)的进程.这会导致系统的所有其他请求在ASP.NET队列中等待,这基本上会杀死站点.缺乏活动会导致网络流量下降. 我已经阅读了很多关于线程队列,线程池等的文章.这是一个很好的例子:http://williablog.net/williablog/post/2008/12/02/Increase-ASPNET-Scalability-Instantly.aspx并且做了我认为是帮助我解决问题的线索……但我不确定.我正在使用的asp.net版本的“Machine.config”文件没有指定文章中列出的任何线程值,所以我们默认为我认为根据我们的情况不正确的所有内容. 如果你是我;接下来你会做什么?你认为问题在哪里? 编辑:这是一个截图.问题发生时应该很明显. 编辑: 我想为我们的设置更改这些值.先问几个问题: 1)进行更改后,需要重新启动才能使其生效? 2)这些设置如何查找具有8个物理内核的系统? maxconnection = 96 maxIoThreads = 100 maxWorkerThreads = 100 minFreeThreads = 704 minLocalRequestFreeThreads = 608 解决方法
不好玩.
许多根本原因具有共同的症状,这使得在不弄脏应用程序的情况下难以诊断.如果隐含了其中一些步骤,请原谅. 接下来的一些步骤可能是: >查看每个站点的IIS日志,查找以下内容: > HTTP响应代码(5xx,4xx,3xx) >查看Windows事件日志 >应用程序池多久循环一次? >验证@vinayc建议的processModel设置,以确保前任没有’棘手’ >这也可以帮助您捕获内存捕捉以便稍后进行诊断. >了解每个AppPool中运行的Web应用程序数量. 这种行为是“新的”吗?还是一直在那里?如果是“新”,您是否可以追踪可能导致新行为的部署? 对“缓慢”行为的描述是否会归因于apppool循环并再次导致应用程序的jitting? ala – 第一个请求综合症. 查看日志有助于了解网站/应用程序的使用方式,如果您不拥有代码库,这一点尤为重要. Logparser是一个用于执行IIS日志分析(以及其他格式)的出色工具. 祝好运! ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET LinkBut??ton / ImageButton和JQuery验证?
- asp.net-mvc-3 – ASP.Net MVC 3 ModelState.IsValid
- ASP.NET – 使用WCF Web服务绑定w / AD组的IIS7部署错误500
- asp.net-mvc – Mvc区域路由?
- asp.net – 在遇到性能问题之前,一个azure实例上有多少用户
- asp.net-core-mvc – Identity 3.0当id为“int”时通过id获
- ASP.NET MVC 中枚举生成下拉框
- asp.net – Session Timeout .NET
- asp.net – 无法加载文件或程序集“Microsoft.TeamFoundati
- asp.net – 401客户端’协商’,服务器’协商,NTLM’调用WCF