随笔-42  评论-12  文章-0  trackbacks-0

原本运行在win2000系统IIS5下的网站程序升级为win2003操作系统IIS6之后,asp页面有时停止响应
通过分析,我们发现这个问题是由于线程中使用的Critical Section同步对象被长时间被锁住导致的。在ASP页面中我发现其代码大量使用了ACCESS数据库及其引擎JET4.0,但是JET中的一个Critical Section由于导种缘故没有被及时释放。所以当其他线程需要使用JET引擎时,被堵塞了。在客户端观察到的,就是长时间不能打开页面的现象。
该Critical Section有98个线程(请求)在等待:

CritSec +29307a0 at 029307A0
LockCount          98
RecursionCount     1
OwningThread       be8
EntryCount         160
ContentionCount    160

经过进一步分析,发现遇到的问题与微软知识库文章838306(
http://support.microsoft.com/?id=838306)中描述的线象及原因非常一致。

经过安装文章中的HOTFIX之后解决

posted on 2007-07-31 10:12 tianjuchuan 阅读(322) 评论(0)  编辑 收藏 引用 所属分类: 处理的问题
只有注册用户登录后才能发表评论。