最近一个老前辈的网站经常ASP无法访问,确诊为程序池假死。前段时间还是每几天一次,现在演变到每天几次,每次强制回收或者重启IIS问题都解决。今天有时间,对他的网站做了一下全面检查。
程序池假死一般怀疑的就是ASP程序有死锁或者死循环,另一种情况就是ACCESS数据库过大。前一种情况检查过于繁琐,还是从ACCESS数据库下手。在站点目录搜索所有大于20M的文件,乖乖,还真不少!不过看看是数据库的文件,只有三个。其中一个竟然有310M大小,这个嫌疑最大!
跟老先生联系了一下,老先生说那是自己闲着玩的时候调试的一个BLOG,再没有用过。既然无人访问,何来拖慢系统?不管,用ACCESS打开,竟然花了将近1分钟,看来够大。逐个表观察,发现 TRACKBACK表里面有17万条的记录,都是广告!再看COUTER表,明白了,这个表是计数器,记录了访问时间,访问IP,BROWSER AGENT等内容,有58万条记录!而且从BROWSER来看,多数是搜索引擎的蜘蛛还有广告群发器,晕呀。既然是玩,干脆关掉这个BLOG,观察一天,没有出现问题。
如果有其他朋友遇到类似问题,可以沿着这个思路检查一下,另外,建议那些BLOG的ASP程序员,考虑一下遏制垃圾TRACKBACK和COMMENT,同时合理处理日志。这个BLOG程序名称也就不提了,估计设计者只是在本机调试了一下就发布出来供大家用了,害人呀!