zoukankan      html  css  js  c++  java
  • 博客园Blog程序遇到的奇怪问题

         博客园的Blog程序升级到ASP.NET 2.0之后,一直被这样的问题困扰:
         出现问题时,从客户端看,浏览器处于连接状态,却一直得不到服务器的响应。从服务器看,CPU占用很低,不超过10%。我对这种现象的理解是:IIS接收了请求并转发给ASP.NET 2.0进程处理,而ASP.NET 2.0进程处于不工作状态,不对请求作出响应。
         IIS 6的应用程序池每隔30秒(默认设置)会检查工作者进程的健康状况,发现了ASP.NET 2.0进程的这种异常情况后,立即关闭该进程,建立创新的进程,新的进程忙碌一阵后,系统恢复正常。
         事件日志中的相关信息:
         系统日志(Event ID: 1010):
         A process serving application pool 'APP_CNBlogs' failed to respond to a ping. The process id was '3520'.
         说明:这是应用程序池检查工作者进程的健康状况时记录的信息。
         该问题的发生没有什么规律,次数不定,访问量大时,发生的次数多一点,更新dll文件后,发生的概率也比较高。
         这种不工作状态是因为程序执行中发生了死锁,还是ASP.NET  2.0引擎发现了异常,主动退出了运行,ASP.NET 2.0有这种特性,微软的文档中说如果在ASP.NET 2.0程序运行中发生未处理异常,程序会退出运行,我已经针对这种情况按照微软的文档进行了处理,问题依然存在。我发觉即使了发生未处理异常,情况并不像文档中所说的那样程序会退出,ASP.NET 2.0会将异常记入事件日志,程序照常运行。
         到现在我也没找到问题的原因,在出现问题时,ASP.NET 2.0运行时没有在事件日志中记录一些相关信息,我也没想到什么办法能捕捉到发生问题时的更多信息,在程序中也没找到引起进程死锁的代码。
         是博客园程序的Bug还是ASP.NET 2.0的Bug?  目前还没找到问题的线索,今天写出来,一是希望了解有没有朋友遇到过这个问题,二是希望有经验的朋友提供一些建议。
         相关文章:为什么应用程序池总是崩溃(Crash)
              

  • 相关阅读:
    linux systemctl 命令详解
    nginx 与 php-fpm 通信配置
    yum Install PHP 7 on CentOS 7 (英文-转载)
    解决在idea中创建spring boot项目start.spring.io初始化失败的问题
    MongoDB学习5:模型设计和设计模式
    MongoDB学习4:MongoDB复制集机制和原理,搭建复制集
    `curl -L` 解决 GitHub 的 raw.githubusercontent.com 无法连接问题
    用 Hugo 快速搭建博客
    针对多系统时间不一致
    kali 下的邮件发送工具 swaks
  • 原文地址:https://www.cnblogs.com/dudu/p/472162.html
Copyright © 2011-2022 走看看