websphere7.0性能优化,内存,连接池,线程池
一、设置jvm内存大小
打开管理控制台 https://ip:9043/ibm/console
服务器--应用程序服务器--选择服务器server1--Java和进程管理--进程定义--Java虚拟机
初始堆大小 4096 M
最大堆大小 4096 M
二、设置数据库连接池
可以使用 WAS 管理控制台进行数据库连接池的配置,位于 JDBC providers > Provider name > Data sources > Data source name > Connection pools
三、调整线程池
Server--Server Types--WebSphere application servers
server1 Thread pools
Web 容器线程池
一般来说,每个服务器 CPU,5 至 10 个线程将会提供最佳吞吐量。另外我们也可以利用 WAS 自带的 TPV 来帮助我们设置 Web 容器线程池。对系统做一个压力测试,保持一定的负载,观测 TPV 中的 PercentMaxed 和 ActiveCount的值,PercentMaxed 表示所有线程被使用的平均百分比,如果该值较大,那么就应该增大线程池的值;ActiveCount 表示被激活的线程个数,如果该值远小于当前线程池的大小,那么可以考虑减小线程池的值。可以 使用 WAS 管理控制台进行 Web 容器线程池的配置,位于 Application servers > AppServer name > Thread pools > WebContainer
数据库连接池
当我们连接任何数据库时,数据库连接的初始化是一个非常耗资源的操作,所以当性能问题出现时,只是一味的加大数据库连接池往往并不能提高性能。通常的做法是,首先将数据库连接池的大小增大一倍,看看是否可以解决性能问题,如果可以,再逐步减少数据库连接池的值,找到性能瓶颈以及达到最优性能时连接池的大小。一般来讲,数据库连接池的值小于 Web 容器线程池的值是比较好的选择。
在实际的环境中,我们可以利用 TPV 去监控数据库连接池的使用情况,以此来调整数据库连接池的大小,从而确定最优的调优策略。可以从 TPV 的以下监测值中寻找答案。
表 1. TPV 监控列表
监测值名称
描述
调优策略
PooSize
连接池的大小
PooSize 会随着新连接的建立而增加,会随着连接的销毁而减少;应该为连接池设立一个最大值。
PercentUsed
连接池线程被使用的百分比
如果该值长时间都很小,那么你应该调小 PooSize,反之应该增大。
WaitingThreadCount
单位时间内正在等待建立数据库连接的线程的个数
系统最佳的性能体现在该值总是保持在很小的数目,如果该值偏大,则需要对系统进行调优
PercentMaxed
数据库所有连接都被使用的时间所占的百分比
确保这个值不会长时间的达到 100%,如果是那样,那么你该考虑增大 PooSize 值
四、性能监控TPV
Monitoring and Tuning--Performance Viewer--Current activity
server1
点击Start Monitoring开始监控
不监控的时候,请记得Stop Monitoring,以免浪费资源
选择想监控的项,点击View Module(s)
分析数值,做相应调整