- 对外表现
1、应用访问速度慢,响应迟钝
2、应用报错, WAS 性能较差
3、应用(server)停止对外服务无法访问(WAS服务挂起或者服务器宕机)
- 问题描述
1 、 WAS内存处理大对象内存分配bug(大报文(20M)-小报文(20M)-20M)
2 、 内存回收碎片(java heap free memory很多,一个很小的报文都申请不到内存
)
3 、 WAS MDB侦听MQ队列问题
4、内存溢出 问题
-
排查思路
1、查看、收集服务器资源使用情况,主要包含内存、CPU、磁盘I/O及网络数据等
2、查看、收集操作系统级日志
3、收集、分析WAS应用日志
4、根据系统资源数据分析及日志信息,基本定位发生或影响性能的瓶颈
5、应用分析工具定位最终的罪魁祸首
6、确定并解决问题
7、重现场景,进行相关测试、验证(包括升级新的补丁程序、调整参数、修改应用等)
-
调优步骤
设置的是Web Server的最大并发用户 :
l 这个设置是在conf/httpd.conf这个文件里面配置的。在Unix系统中,对应的 属性是MaxClient。
设置Web Container的最大、最小并发用户 :
l 在管理控制台中点击应用程序服务器 > server1 > 线程池 >WebContainer , 根据测试性能情况和应用情况输入合适的最小、最大进程数。
对象请求代理(ORB)的线程池大小 :
l 在管理控制台中点击应用程序服务器 > server1 > ORB 服务 > 线程池, 根据测试性能情况和应用情况输入合适的最小、最大进程数。
设置数据库的连接池属性 :
l JDBC 提供者 >数据库JDBC驱动名称 > 数据源 > 数据源名称> 连接池 ,根据测试性能情况和应用情况输入合适的最小、最大连接数。
JVM堆参数设置的性能调优 :
l 应用程序服务器 > server1 > 进程定义 > Java 虚拟机,根据硬件物理 内存和应用情况输入合适的初始堆大小、最大堆大小。
l (XX系统)K值调整针对WAS内存碎片问题IBM建议值:-Xk30000 -Xk24000,24 00k (core dump抛出建议值)
ORB参数调用方式的性能调优 :
l 应用程序服务器 > server1 > ORB 服务>选中按引用传递。
关闭动态加载开关 :
l 企业应用程序 > 应用名称 > 关闭启动类重新装入开关。
l 关闭会话序列化,应用程序服务器 > server1 > 会话管理 > 分布式环境 设置 > 分布式会话选择无即可。
这个调优的步骤只是涉及了利用WAS服务器参数的调整来优化应用程序的性能,实 际上性能的好坏很大部分是取决于应用的设计。系统上线前进行的性能测试也是重要 的工作之一。
