庄周梦蝶

生活、程序、未来
   :: 首页 ::  ::  :: 聚合  :: 管理
最近项目的websphere经常当机,运行一段时间后变慢然后当掉。查找了下网上的资料,尽管不是我在负责服务器,但是也是个学习的机会。

主要针对的症状:  
        平台:was5.1   base,http   server   1.3.28,oracle   8i,9i  
        症状:用户响应突然变慢,然后并连接不上80端口,重启后正常,一段时间后反复  
        解决方式:调整服务器参数,增加服务器的处理能力  
   
        1,更改http   server的配置文件参数KeepAlive。  
      原因:这个值说明是否保持客户与HTTP   SERVER的连接,如果设置为ON,则请求数到达MaxKeepAliveRequests设定值时请求将排队,导致响应变慢。  
      方法:打开ibm   http   server安装目录,打开文件夹conf,打开文件httpd.conf,查找KeepAlive值,改ON为OFF,其默认为ON  
   
  2,更改http   server的配置文件参数ThreadsPerChild值到更大数目,默认为50  
      原因:服务器响应线程的数量  
      方法:打开ibm   http   server安装目录,打开文件夹conf,打开文件httpd.conf,查找ThreadsPerChild值,默认为50,改到更大数目,视用户数 多少而定,一般改到客户机数量的1.1倍,如200台,则设为220  
   
  3,关闭http   server日志纪录  
          原因:http   server的日志IO影响性能  
          方法:打开ibm   http   server安装目录,打开文件夹conf,打开文件httpd.conf,查找CustomLog值,找到没有注释的那行(行的开头没有符号"#"), 将那行用符号"#"注释掉,以关闭日志纪录,提高处理性能。  
   
  4,更改Websphere的服务器处理线程数  
          原因:线程的数量影响同时并发的请求数量  
          方法:打开管理控制台,依次打开目录树,服务器->server1->web容器->线程池,修改"最大大小"的值,默认是50,改到 更大数目,具体视总用户数量和机器的配置而定,一般设置其等于或小于http   server设置的MaxKeepAliveRequests的值。

    根据上面的建议,查看了下我们的服务器配置情况,倒是没什么不同,实际上导致服务相应变慢到停止,一般是由两个原因导致的  
  1,数据库操作时间过长(如查询),导致占用连结时间过长,然后后续请求无法及时取得连结响应请求  
  2,代码中一定要确保连结关闭,尤其在jsp中。后台程序要在finally中关闭
    由此,我查看了System.out的日志,发现每次在当机前都有报“连接邮件服务器失败”类似的错误,我们的邮件服务器是ibm的Lotus Domino,最近的网络状况很有问题,个人怀疑是因为连接邮件服务器时间过长,导致了这种情况的发生,有待证实。   

只有注册用户登录后才能发表评论。


网站导航: