.net 中的应用程序响应时间停滞不前 - 无法停止崩溃

.net 中的应用程序响应时间停滞不前 - 无法停止崩溃

我们全美每天有大约 200 台台式电脑使用我们的销售点/网站应用程序。此应用程序对于我们的零售商而言至关重要,不能出现故障。

在过去的几个月里,用户一直遇到严重的应用程序速度减慢和崩溃问题。原本只需 1-2 秒的过程现在需要 10-20 秒。

上次出现这种情况是在鲜花业务高峰期之前(圣诞节前),现在又出现了(情人节前)。我们发现一个普遍的规律是,负载越大,系统似乎越慢,崩溃得越厉害。圣诞节后,我们增加了更多内存和磁盘,看看这是否有助于稳定系统。

我们请来了一位外部数据库管理员和一位高级 .net 程序员来分析并找出这些问题的主要原因。我们研究了硬件、软件和网络方面的问题。DBA 管理员在过去几周花了很多时间分析数据库,并做了一些调整和修改。

初步判断是应用程序内的某些存储过程或报告编写不当,占用过多资源(或在某些情况下产生无限循环)。某些过程已被禁用。数据库管理员目前正在与程序员合作优化这些过程并纠正错误。

我们自己无法持续重现崩溃或减速的情况。

我们当前的设置如下:asp 2.0 数据库 - Dell 2950 - 20Gb SQL Server 2005(8 x 73GB)大小约为 20GB Web 服务器 - Dell 1950 - 8GB Windows 2003 R2 Enterprise SP2(4 x 73Gb)iis6(目前内存使用率约为 50%,有 4 个应用程序池)。

在我拔掉所有剩余的头发之前,任何评论都将不胜感激......

答案1

无法提供任何具体信息,特别是如果您已经让一些外部人员对其进行了处理。如果它是最近几个月才开始的,那么请尝试查找更改的内容或检查您的硬件。

有 Windows 更新吗?防病毒程序是否更改或开始在白天运行计划扫描?备份作业?磁盘是否已满?是否安装了 sql server service pack?您检查过事件日志,对吗?

还要检查您的网络电缆和网卡。有网络错误吗?损坏的电缆、NIC 或交换机可能根据 LED 看起来正常,但可能有故障、运行半双工、丢包等。

您对软件做过什么改动吗?破坏或者删除了一些索引?

如果您的 SQL Server 版本包含 Profiler,则请将其设置为记录慢速查询。

或者添加一些监控工具,比如 nagios,当 CPU 负载开始上升时,它会立即向您发送电子邮件。然后您可以立即登录到该框并开始调查。

答案2

当奇怪的事情开始发生时,我们设置 DebugDiag1.2 来捕获和记录崩溃,并使用 .net 页面跟踪进行失败请求跟踪,以准确确定错误请求正在做什么。

调试诊断: 下载

一些说明这里。除非您非常擅长查看转储,否则我会将“未配置的第一次机会异常的操作类型”设置为“日志堆栈跟踪”。

失败请求跟踪:设置这里

用你自己的页面踪迹

相关内容