- 对外表现 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、重现场景,进行相关测试、验证(包括升级新的补丁程序、调整参数、修改应用等)
- 调优步骤
1)设置的是Web Server的最大并发用户: l这个设置是在conf/httpd.conf这个文件里面配置的。在Unix系统中,对应的 属性是MaxClient。 2)设置Web Container的最大、最小并发用户: l在管理控制台中点击应用程序服务器 > server1 > 线程池 >WebContainer , 根据测试性能情况和应用情况输入合适的最小、最大进程数。 3)对象请求代理(ORB)的线程池大小: l在管理控制台中点击应用程序服务器 > server1 > ORB 服务 > 线程池, 根据测试性能情况和应用情况输入合适的最小、最大进程数。 4)设置数据库的连接池属性: lJDBC 提供者 >数据库JDBC驱动名称 > 数据源 > 数据源名称> 连接池 ,根据测试性能情况和应用情况输入合适的最小、最大连接数。 5)JVM堆参数设置的性能调优: l应用程序服务器 > server1 > 进程定义 > Java 虚拟机,根据硬件物理 内存和应用情况输入合适的初始堆大小、最大堆大小。 l(XX系统)K值调整针对WAS内存碎片问题IBM建议值:-Xk30000 -Xk24000,24 00k (core dump抛出建议值) 6)ORB参数调用方式的性能调优: l应用程序服务器 > server1 > ORB 服务>选中按引用传递。 7)关闭动态加载开关: l企业应用程序 > 应用名称 > 关闭启动类重新装入开关。 l关闭会话序列化,应用程序服务器 > server1 > 会话管理 > 分布式环境 设置 > 分布式会话选择无即可。 这个调优的步骤只是涉及了利用WAS服务器参数的调整来优化应用程序的性能,实 际上性能的好坏很大部分是取决于应用的设计。系统上线前进行的性能测试也是重要 的工作之一。