博客园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)
          

posted @ 2006-08-09 14:50 dudu 阅读(2980) 评论(16)  编辑 收藏 所属分类: ASP.NET 2.0

  回复  引用    
#1楼 2006-08-09 15:03 | 幻想曲 [未注册用户]
我的Blog是用2.0写的
有时点一个链接以后会停顿下来...就像无响应状态
f5一下就正常!
偶尔会有这样的情况
不知道是程序问题还是.net 2.0自身的问题或是网络问题。。。
上服务器看日志,也是那样的错误
  回复  引用  查看    
#2楼 2006-08-09 15:53 | 笑望人生      
我的.Net 2.0 运行时也出现了问题,但不是Asp.Net 2.0,而是Visual Studio 2005,突然退出,没有任何征兆。
查看了系统日志,在应用程序日志中出现了好几条错误信息:
.NET Runtime version 2.0.50727.42 - 执行引擎错误(7A2B45A2) (0)

.NET Runtime version 2.0.50727.42 - 执行引擎错误(7A05E2B3) (80131506)
  回复  引用  查看    
#3楼 2006-08-09 17:31 | 卓如      
和数据库有没有关系,我们公司以前做过一个项目,由于数据库连接没有处理好,所有用户共用几个连接,同时访问用户过多时响应不过来,出现问题。现象与dudu所说的有点类似,后来改正了那部分没有再出问题。会不会是类似的问题?
  回复  引用  查看    
#4楼 [楼主]2006-08-09 19:44 | dudu      
@卓如
可能与数据库连接有关,因为在访问量大的时候出现的概率比较高。
可能是性能问题带来的问题,我会进一步对程序进行性能优化,看能否解决这个问题。
  回复  引用  查看    
#5楼 2006-08-09 21:06 | wuChang      
@dudu
博客圆的.Text是如何转到.net2.0下的?
指教一下呀
  回复  引用  查看    
#6楼 [楼主]2006-08-09 21:44 | dudu      
@wuChang
也就是将VS 2003的项目转换到VS 2005,再解决一些小问题。
  回复  引用    
#7楼 2006-08-09 22:45 | alcohol [未注册用户]
我的网站也是用.NET做的

现在大概8台WEB服务器,1台数据库服务器。

偶尔某台压力会很高,然后就会造成程序缓慢,接下来就会出现

数据库连接的问题,说是超时时间已到,连接池中没有可用连接。

这个礼拜准备把连接池设大点试试看。
  回复  引用    
#8楼 2006-08-09 23:45 | grapef [未注册用户]
Usually we use the following way to troubleshoot the problem.

1. Download Windbg
2. Start performance monitor and add the following counters:

asp.net *
.NET *
process
system
memory

3. When the problem occurs, run the following command to capture the dump file. I assume the windbg is intalled in the C:\debuggers folder.

C:\Debuggers>adplus -hang -quiet -iis -o C:\dumps

Please run above command 3 times, with 10 seconds inerval. The dump file will be generated in C:\dumps folder

With the dump file, we can check how the slow performance or deadlock occurs.

Meanwhile, I am preparing some debugging discussion about how to check slow performance and hang. You may find some interesting stuff on my blog. If you are intrested, please feel free to contact me. Maybe we can use this real case to discuss how to troubleshoot such issue for ASP.NET 2.0 :-)
  回复  引用  查看    
#9楼 [楼主]2006-08-09 23:59 | dudu      
@grapef
谢谢你的建议!
用IIS Diagnostics中的Debug Diagostic Tool也可以吧。
我以前用Debug Diagostic Tool捕捉过出现问题时的dump文件,但不知道如何去会分析dump文件。
关注您的Blog并希望得到您的帮助!
  回复  引用    
#10楼 2006-08-10 00:30 | grapef [未注册用户]
sure

If you can get the dump, I am glad to help analyze and provide the detailed steps.

You can reach me with eparg@msn.com, and let me know how to get the dump file.

If you want to check the dump by yourself, you may want to check:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/DBGch01.asp


  回复  引用  查看    
#11楼 2006-08-10 08:35 | 浪子      
@grapef
葡萄,你怎么跑这里来了...

高手来了...呵呵
  回复  引用    
#12楼 2006-08-10 09:56 | grapef [未注册用户]
我来推广我的paper阿,因为是中文的,于是就来这里罗 :)
  回复  引用  查看    
#13楼 [楼主]2006-08-10 13:31 | dudu      
@grapef
谢谢你的帮助!
今天没有出现这个问题,我把之前捕获的一个dump文件发给了你。
欢迎你来博客园与大家交流! :)
  回复  引用  查看    
#15楼 2006-08-11 09:00 | 灵风      
dudu,能不能把vs 2005的源代码公布出来,让我们研究研究。谢谢!
  回复  引用    
#16楼 2006-11-28 03:06 | WangJiping@gmail.com [未注册用户]
多次出现此错误,事件查看其中记录有:
--------------
.NET Runtime version 2.0.50727.42 - 执行引擎错误(7A05E2B3) (80131506)
--------------
希望有高手解决此问题

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-08-10 13:52 编辑过


相关链接: