我们单位是一所医疗机构,整个医院的网络是由一台安装有WIN2000 服务器版的惠普服务器及数十台以WIN98作平台的终端微机组成。数据库系统采用微软公司的SQL 7.0版本,开发工具为SYBASE 公司的PowerBuild 6.0。在近一年的运行中,出现过两例怪异的"故障",几乎导致系统瘫痪,在此将详细过程叙述如下,以期对大家有所启示和借鉴。
"故障"一:系统运行几个月后,整个管理系统的运行速度变得非常慢,无论是挂号还是划价发药都反应迟钝,导致全院无法进行正常工作。观察服务器,发现硬盘灯经常狂闪不止,打开任务管理器中的系统性能监测,发现CPU占用率居高不下,点击任何程序图标,该程序的响应都很缓慢,屏幕的刷新速度好象是在演动画片。我们想到的第一件事是病毒感染,于是花近万元购买了某著名杀毒软件的网络版,扫描整个网络后一无所获。于是怀疑是感染了某种不知名的病毒,和软件公司同志再次努力仍然解决不了问题。因此又怀疑是服务器硬件故障,请惠普公司人员来检测后,CPU、内存等均无问题,在近乎山穷水尽之际,突然想到可能是WIN2000 的配置上有问题。于是,依次点击"开始"→"程序"→"管理工具",对该栏目下的各个管理项依次检查,终于发现了问题所在。原来,在"事件查看器"下,"应用程序日志"、"安全日志"、"系统日志"等日志中,都密密麻麻地写满了记录。其中有的记录多达近千条,我们猜想,WIN2000 在运行时,为了"确保"安全,可能随时要到多个日志文件中读取信息,并和当前情况进行对比,经过计算后决定下一步怎么做,这样会大大增加系统的资源消耗。而且,一旦日志中有多个错误的记录,那情况就更加严重了。于是,我们进行备份后,清空了所有的日志记录,重新启动服务器,整个网络终于恢复了活力。
"故障"二:系统运行恢复正常后,接受上次的教训,我们定期清空日志文件,并打开系统性能监测器,随时查看CPU的占用情况。但奇怪的情况又出现了。有时,在整个网络没有进行任何工作的情况下,硬盘灯再次闪个不停,CPU占用率达100%,这种情况持续一分钟左右自动消失。不幸的是,如果此时医院的门诊或住院部有任务要作的话,整个系统的响应速度又会慢如蜗牛,根本无法正常工作,我们按照上次的解决办法,天天清空日志,还是解决不了问题。经过仔细观察,我们发现这种现象每隔16小时定期出现一次,于是怀疑是类似WIN98的计划任务在捣鬼,但在WIN2000中又找不到"计划任务"这个管理项,无计可施之时,又到日志文件中去看,无意中发现在系统日志中,有一对"错误"和"警告"记录正是每隔16小时重复出现一次,于是眼前一亮,打开"错误"记录一看,内容是"这个机器是在目录林根域的 PDC。请用 net 命令 'net time /setsntp:',配置从外部时间源同步。"其错误代码是62;"警告"记录的内容是:"由于重复不断的网络问题,时间服务尚未找到与其同步的域控制器。要减少网络流量,时间服务要等 960 分钟才能再试。这期间不会进行同步,及时网络连接已复原。累积的时间错误可能会导致某些网络操作失败。要告知网络连接已复原,应该重新同步,请从命令行执行 "w32tm /s""。其错误代码是64。我们一看,960分钟不正是16个小时吗?由于我单位的网络是内部局外域网,且软件系统都取用服务器时间,网络时间同步服务是不需要的,把此项服务停止了问题就将迎刃而解。经过寻找,我们终于找到了它的老家。依次点击"开始"→"程序" →"管理工具" →"服务"。找到Windows Time 这一项目,双击后进行修改,停止此项服务,并将其启动方式改为手动。从此,16个小时间歇发作的"故障"再也没有出现过。
体会:微软公司的产品历经升级,其操作系统越来越庞大,设置越来越复杂,甚至BUG也越来越多。在此情况下,系统设置不当时,很容易出现一些假故障,而且其表现形式很象是病毒感染或硬件损坏等大问题。这就要求我们遇到计算机故障时,不要忽略了小问题。否则,可能累得精疲力竭、耗资巨大也无济于事。另外,我们体会,WIN2000和SQL SERVER最好每隔两个月就重新启动一次,不然会出现某些莫名其妙的小麻烦。
文章来源于领测软件测试网 https://www.ltesting.net/