Websphere性能调优的基本步骤

部署在WAS上的J2EE应用程序,其性能是由多个因素决定的。例如网络、数据库、内存分配、WAS服务器的配置以及应用程序的设计。对于一个标准的J2EE应用,一个请求到来时,往往需要经过多次转发:网络> Web服务器Web容器 > EJB容器 >数据库。而每一次转发,都可能造成请求处理的瓶颈,使得应用程序整体性能下降。如果我们把每一次转发的待处理资源都看成一个队列,如图: 

Websphere性能调优的基本步骤

待处理资源队列

  对于WAS调优,要记住的一个基本原则就是,使得在队列中等待的请求的数量最小化。在实践中我们发现,为了达到这个目的,最有效的配置方式就是使得队列成为一个“漏斗”。也就是说,越靠近客户端的队列,其容量越大,而后面的队列,其容量要略小于或等于前面的队列。按照这个原则,调优的基本步骤如下:

  设置的是Web Server的最大并发用户:

  • 这个设置是在conf/httpd.conf这个文件里面配置的。在Unix系统中,对应的属性是MaxClient;在Windows系统中,对应的属性是ThreadsPerChild。

  设置Web Container的最大、最小并发用户:

  • 在管理控制台中点击应用程序服务器 > server1 > 线程池>WebContainer,根据观察的性能情况和应用情况输入合适的最小、最大进程数。

  对象请求代理(ORB)的线程池大小:

  • 在管理控制台中点击应用程序服务器 > server1 > ORB 服务 >线程池,根据观察的性能情况和应用情况输入合适的最小、最大进程数。

  设置数据库的连接池属性:

  • JDBC 提供者 >数据库JDBC驱动名称 > 数据源 > 数据源名称> 连接池,根据观察的性能情况和应用情况输入合适的最小、最大连接数。

  JVM堆参数设置的性能调优:

  • 应用程序服务器 > server1 > 进程定义 > Java虚拟机,根据硬件物理内存和应用情况输入合适的初始堆大小、最大堆大小。

  ORB参数调用方式的性能调优:

  • 应用程序服务器 > server1 > ORB 服务>选中按引用传递。

  关闭动态加载开关:

  • 企业应用程序 > 应用名称 > 关闭启动类重新装入开关。
  • 关闭会话序列化,应用程序服务器 > server1 > 会话管理 > 分布式环境设置 >分布式会话选择无即可。

  这个调优的步骤只是涉及了利用WAS服务器参数的调整来优化应用程序的性能,实际上性能的好坏很大部分是取决于应用的设计。好的性能源自好的代码设计。一般说来,性能调优大概可以提高10%-40%效率,而糟糕的代码设计却会使得性能几倍的下降。

posted on 2014-05-23 22:58  当时已枉然  阅读(565)  评论(0编辑  收藏  举报