一、关于was数据源等问题的配置
(1)关于was数据源连接池的最大、最小配置多大合适?怎样去计算?
(2)关于JVM的配置,64位系统,64位WAS,最值小和最大配置多大最优?怎样去计算?
(3)应用服务器线程池,怎么样配置最优? 怎样去计算?
(4)linux上安装was完成后,linux必须配置哪些参数,was性能最优?如果不配置的话,性能影响大吗
jvm 1024-3072,jvm,连接池的请参照文档,官方知识库有些文档,可以当做参考。
线程池 100-100。
linux最大文件打开数65536,打开core,用户最大进程数65536
这些都是一般情况下调整,具体的还需要结合实际情况,一般情况下,在系统上线之前,会做压力测试,包括并发测试、疲劳测试等等。在做测试的时候,会不断的调整并发量,压力的时长。这个时候根据每次测试时WAS的运行情况、已经压力测试的结果,会进行不断的调整直到一个满意的值。我在压力测试之前一般把PMI打开,级别是基本,然后每个WAS实例内存最小值为2G,最大值为4G,同时打开WAS的verbose gc。数据源最小值设置为10,最大值设置为50。web container设置为200。其他更多的调整,比如Linux的调整,你可以根据WebSphere Application Server Performance Cookbook里面的建议进行调整。由于文件比较大接近10M,你可以到IBM官网直接下载PDF格式的文件:https://publib.boulder.ibm.com/httpserv/cookbook/
每次压力测试以后,根据verbose gc的记录情况,PMI的记录情况,再进行针对性的调整。如果发现不是WAS的问题,还需要与开发人员一块对业务代码进行优化。
参数 |
参数值 |
说明 |
nofiles |
10000 |
允许打开的文件数。打开文件设置的缺省数目 (2000) 通常足以供大多数应用程序使用。如果对此参数设置的值太小,在打开文件或建立连接时就可能会出错。由于此值限制服务器进程可打开的文件描述符数(软限制)。 |
Nofiles_hard |
10000 |
允许打开的文件数。打开文件设置的缺省数目 (2000) 通常足以供大多数应用程序使用。如果对此参数设置的值太小,在打开文件或建立连接时就可能会出错。由于此值限制服务器进程可打开的文件描述符数(硬限制)。 |
TCP_KEEPALIVE_INTERVAL |
15 |
当探测没有确认时,重新发送探测的频度。缺省是75秒。推荐设置为15. |
TCP_KEEPALIVE_PROBES |
5 |
在认定连接失效之前,发送多少个TCP的keepalive探测包。缺省值是9。这个值乘以tcp_keepalive_intvl之后决定了,一个连接发送了keepalive之后可以有多少时间没有回应 推荐设置为5. |
netdev_max_backlog
somaxconn |
3000
3000
|
当由于入局连接请求比率过高而导致连接故障时,更改下列参数: echo 3000 > /proc/sys/net/core/netdev_max_backlog
echo 3000 > /proc/sys/net/core/somaxconn |
二、JVM大小的优化
1、GC日志是设置JVM大小时,最好的参考
2、我看到的很多生产环境GC都是开启的,如果追求极限性能肯定关闭了好
3、session复制是否打开与业务要求相关,性能是是确保业务正常的前提下再考虑的问题
这个考虑的因素很多,比如,并发用户数,你的应用是不是吃大内存型的?比如要生成大的报表,要返回大的数据库结果集。
通常可以以压力测试来预估一个大致的值,然后再慢慢进行调整。