从前年起客户的所有web容器都换成了websphere,版本是5.1。最初也不懂得性能优化,只是用ant给project打个war的包,通过ws的管理控制台发布上去就行了。但是客户在实际使用时,有时会出现响应慢,最后连ws都hang起。
用kill -java进程号产生的javacore及heapdump文件来看,有oralce数据库的问题、也有java 程序自身的outofmemory,排除程序的bug,然后也试着学学优化。现在也总结一下ws优化的经验:
1.java 虚拟机初始堆大小和最大堆大小
ws通常默认是256,可以适当调整最大堆为512。不过也不要调的过大,小心ws启不启来,有一次我把初始堆调成768最大堆调成了2048,当我startserver -server1 时就提示ws无法初始化,原因是内存不足,所以一定要根据机子的性能来调整 呀!
2.web容器的线程池最小大小和最大大小
3.jdbc连接池属性
这个最难把握,因为最大连接数、最小连接数、连结超时、获得时间等等都要依据数据库及网张络的性能来调整。而且获得时间、不使用超时、时效超时是互相联系的一组参数,一般来说:获得时间要小于不使用超时及时效超时,且三个不能为零,是最好的!
4.启用servlet高速缓存
5.语句高速缓存大小
闽公网安备 35060202000074号