在着手进行
应用程序服务器的优化之前,首先进行
应用程序和操作
系统的优化是一个更好的选择。尤其是应用程序的优化,通过对应用程序中影响
性能的部分进行重新的设计和调整,往往能够带来比单纯的参数调优更为巨大的性能提升。对于一般的J2EE应用程序而言,
WAS中最重要的优化参数包括针对JVM、Web Container和Data Source等的。
- JVM
Heapsize(-Xms和-Xmx):heapsize的大小依赖于系统平台和具体的应用等多种因素。最大heapsize需要小于机器的物理内存,一般来说,设置最大heapsize为512m是一个常见的起点。同时,在生产环境中,最好将Xms设置为小于Xmx的值。
GC(Garbage Collection):一般来说,良好的GC状态需要保证相邻两次垃圾回收的平均间隔时间应当是单次垃圾回收所需时间的至少5-6倍。GC的调优是通过在模拟压力的情况下不断调整最大最小heapsize来实现的。
Heap Fragmentation:heap碎片的问题在JVM中存在大对象的情况下尤为突出。减少碎片的方法包括调整pCluster(-Xp)和kCluster(-Xk)参数。更多的JVM调优参数内容,参考JDK diagnostic Guide 。
以及WAS V6.1信息中心的相关内容:
- Web Container
对Web Container的调优是通过对Web Container传输链中各个通道(TCP、HTTP、WebContainer)的参数调整进行的。这些参数包括诸如ThreadPool的最大最小值,buffer大小,timeout时间的大小,keep-alive的值等等。各个参数的含义及具体调整方法参见WAS V6.1信息中心:
- Data Source
对Data Source的优化包括两个方面。一是JDBC Driver的选取,尽可能应使用Type 4的JDBC driver,这种driver是纯java的,适用于client/server模式,并提供比type2和legacy/CLI的driver更好的性能。另一方面是Database连接池的参数设置,主要包括最大和最小连接以及timeout的设置。具体的设置于应用程序的特性和并发用户量相关,一般来说,可设置最小连接为1且最大连接为30,作为一个继续调优的起点。除了JVM,Web Container和Data Source之外,WAS的性能调优还包括很多其他方面的内容,如JMS、EJB、Session、Dynamic Cache等等。关于性能优化的更多内容,可参见WAS V6.1信息中心:
另外,WAS 提供了若干工具,可以用于帮助衡量其性能。WAS 中免费提供的 Tivoli® Performance Viewer(TPV)允许客户对关键资源(如 JVM、Web 容器和 EJB 容器以及远程连接池)进行监视。这款工具使用非常方便,可以用于确定应用程序使用可用资源的方式,还可以提供针对行为不正常的远程资源的信息。例如,如果
数据库连接池显示为了获得连接进行了多次尝试,则可能表示远程数据过载,或者需要优化数据库,或者需要向不够大的池中添加更多的连接。与此类似, WAS还提供了 Runtime Performance Advisor
功能,可以就系统中的潜在优化问题向
管理员提供反馈。
WAS Information Center ()包含了一个优化参数列表,还包括一个优化参数“热点列表”,其中描述最常用的经过调整的参数。这是一份不错的参考
资料,有助于您了解在该产品内调整内存和资源的基本知识。
其他的不错的参考资料包括
IBM® 红皮书,如 。
阅读(2240) | 评论(0) | 转发(0) |