技术开发 频道

WebSphere环境搭建实践指南

 

4. 必要参数的调整

    在生产环境中安装WAS完毕并创建了一个可用的概要文件之后,必须根据实际情况进行必要参数的调整,以便提高WAS性能、方便错误诊断。这些参数通常要结合运行环境的实际情况、实际的并发量和服务器的资源利用情况进行调整。完整的调优涉及操作系统、应用、应用服务器和数据库的综合调整,具体要调整的参数、含义,请参见WAS资源中提到的资源监控和性能调优章节,例如,红皮书sg246392的17.5章节中明确谈到了性能调优通常涉及的参数以及调整原则。本文提出的只是针对应用服务器本身一些重要的参数调整的指导原则和经验之谈,以便读者能够快速起步:

  • Java虚拟机堆大小(JVM Heap Size): 控制JVM代码可使用的堆大小,单位M。该参数在服务器->应用程序服务器>进程定义>Java虚拟机中进行设置。JVM最大堆大小默认是256M,在生产环境中通常要根据机器物理内存情况、应用运行特性来设置,且多数情况下都要把此参数调大。根据经验,内存充足时,通常的调整在500M到1024M之间。需要注意的是,建议JVM Heap的最大值不要超过1024M,如果JVM Heap Size过大,可能会引起内存分页,或者造成JVM垃圾回收时间过长,反而影响应用服务器性能。有关Java虚拟机调优的具体信息,请参考调整JVM参数
  • Web容器线程池:该参数在“服务器 > 应用程序服务器 > server1 > 线程池”的“WebContainer”中进行设置(如图6),默认值是10到50。如果硬件资源允许,通常会把线程池的最大大小调到100。

    图 6. 调整线程池



  • 数据源连接池:该参数在资源->JDBC->数据源->数据源名称,选择“连接池设置”中设置,默认大小为1到10。根据资源设置的队列(Queue)原则,从Web容器线程池,到数据源连接池的参数设置,应该是从大到小的管道。前面我们列举了Web容器线程池的最大值设置100,对于数据源连接池,设置的最大值通常不超过50。多数情况下调整为30。实际运行中可以修改此参数值,观察调整对性能是否有正面影响。注意,如果把数据库连接池最大大小调得过大,JVM有限的资源都耗费在维护连接池、处理与数据库连接上,可能反而造成WAS性能的下降。
  • WAS 进程日志参数:WAS进程日志常用的有SystemOut.log和SystemErr.log。这两份日志默认大小为1M,历史日志文件数为1份。在生产环境中,这样的设置通常不足以充分保存发生问题时的错误信息。我们可以通过修改日志默认大小、历史日志文件数来保存更多的信息。注意,不要把单份日志文件大小设置过大(例如,超过10M以上),否则可能影响WAS性能。另外,我们建议把应用日志与WAS日志分离开。如果应用中大量以System.out.print或者System.err.print来保存应用状态日志,也可能会影响服务器性能。

    图 7. 修改WAS日志属性




  • Heapdump文件:前面我们提到,Heapdump文件对磁盘空间占用很快,因此,可以设置IBM_HEAPDUMP参数把Heapdump文件存放到指定目录下。
  • Web服务器的访问日志access.log:IBM Http Server的访问日志access.log默认是打开的,其中记录了经过Http服务器的请求信息。在高并发的系统中,这一日志增长非常过,当日志过大时,可能占用过多磁盘空间或引起性能下降,如果您的系统不需要这份日志,或者有其他技术手段保存用户访问信息,可以关闭该日志。具体做法为:打开IBM Http Server安装目录/conf目录下的httpd.conf文件,搜索CustomLog,把CustomLog所在行用#注释掉即可。



0
相关文章