websphere参数配置
1、更改http server的配置文件参数KeepAlive。
原因:这个值说明是否保持客户与HTTP SERVER的连接,如果设置为ON,则请求数到达MaxKeepAliveRequests设定值时请求将排队,导致响应变慢。
方法:打开ibm http server安装目录,打开文件夹conf,打开文件httpd.conf,查找KeepAlive值,改ON为OFF,其默认为ON
2、更改http server的配置文件参数ThreadsPerChild值到更大数目,默认为50
原因:服务器响应线程的数量
方法:打开ibm http server安装目录,打开文件夹conf,打开文件httpd.conf,查找ThreadsPerChild值,默认为50,改到更大数目,视用户数多少而定,一般改到客户机数量的1.1倍,如200台,则设为220。
3、关闭http server日志纪录
原因:http server的日志IO影响性能
方法:打开ibm http server安装目录,打开文件夹conf,打开文件httpd.conf,查找CustomLog值,找到没有注释的那行(行的开头没有符号"#"),将那行用符号"#"注释掉,以关闭日志纪录,提高处理性能。
4、更改Websphere的服务器处理线程数
原因:线程的数量影响同时并发的请求数量
方法:打开管理控制台,依次打开目录树,服务器->server1->web容器->线程池,修改"最大大小"的值,默认是50,改到更大数目,具体视总用户数量和机器的配置而定,一般设置其等于或小于http server设置的MaxKeepAliveRequests的值。
服务器->应用程序服务器->server1->进程定义->Java 虚拟机 初始堆大小 128
最大堆大小 512
线程池:服务器->应用程序服务器->server1->进程定义->Web 容器->线程池
最小大小 20
最大大小 100
最小/最大=1/5
数据源连接池:
资源->JDBC 提供程序->(作用域选择服务器,应用)Sybase JDBC Driver->数据源->sybase->连接池 最大连接数 30 最小连接数 10
下配置仅供参考,实际中还需要根据项目情况和硬件环境而定!
以下调整在 WebSphere Application Server 的管理控制台进行。
进程定义 - Java 虚拟机:
-- 将“初始堆大小”和“最大堆大小”设为相同的值。在有 2GB 内存的系统中,建议设为 512MB。在有 4GB 内存的系统中,建议设为 768MB。
-- 垃圾回收:在“Java 虚拟机”设置中,“一般 JVM 自变量”中设置“-Xnoclassgc”参数。
Web 容器:
-- 将进程优先级从20改为0,这样 会比应用程序服务器有更高的优先级。进程优先级可以在 “server1”-“进程定义”-“进程执行”中修改。
-- 将 “Web 容器”-“线程池”的大小设为 100,并选中“允许线程分配超过最大线程大小”
-- 在“会话管理”中将“会话超时”时间从 30 分钟改为 15 分钟
JDBC 数据源:
-- 将每个数据源的“语句缓存大小”设置为 0
JDBC 连接池:
-- JDBC 连接池大小设置为 100
-- 在数据库服务器上做相应的修改(在 DB2 中是 MAXAPPLS)
针对数据库服务器的调整:
-- 数据库的磁盘空间应无限制
字符编码
--默认为gb2312,复杂的中文不支持“犇”,“暟”
在JVM配置-Dfile.encoding=GBK
WS优化的经验:
1.Java 虚拟机初始堆大小和最大堆大小(位置: server1 > 进程定义>java虚拟机 )
WS通常默认是256,可以适当调整最大堆为512。不过也不要调的过大,小心WS启不启来,有一次我把初始堆调成768最大堆调成了2048,当我startserver -server1 时就提示WS无法初始化,原因是内存不足,所以一定要根据机子的性能来调整
2.web容器的线程池最小大小和最大大小
3.Jdbc连接池属性
这个最难把握,因为最大连接数、最小连接数、连结超时、获得时间等等都要依据数据库及网张络的性能来调整。而且获得时间、不使用超时、时效超时是互相联系的一组参数,一般来说:获得时间要小于不使用超时及时效超时,且三个不能为零,是最好的!
4.启用servlet高速缓存
5.语句高速缓存大小