04.web sphere培训 应用websphere优化
TRANSCRIPT
WebSphere
WebSphere 优化
培训目标
——了解 J2EE应用服务器原理
——掌握WebSphere基本管理技能
——掌握集群的原理和配置方法——WebSphere上性能调优方法及经验共享
WebSphere优化
本章内容
• WebSphere性能优化• 常见问题经验共享
WebSphere性能优化
性能优化-性能指标
• 系统的性能由以下指标来衡量 :
–响应时间–吞吐量
性能优化-影响性能因素•
•
•••••
JAVA代码CPU
Memory
I/O
数据库连接池工作线程日志
性能优化- JAVA编码
• 参考《 JAVA编码规范》• 参考《 Effective Java》
性能优化- CPU上限
• 配置WebSphere使用 CPU数– 应用程序服务器 > server1 > Runtime Performance
Advisor 配置 >处理器数• 导致 CPU达到上限的可能因素:
– 垃圾回收– Java应用程序
• 解决方案:– 监控垃圾回收– Profiling Java应用程序
性能优化-内存上限
• Memory
– 虚拟机内存上下限– 永久内存区大小
• 解决方案:– - Xms1024m - Xmx1024m
为使性能达到最优,上限值和下限值要设为相同
- XX:MaxPermSize=128m
• 配置– 应用程序服务器 > server1 >Java和进程管理 > 进程定义 > Java 虚拟机
性能优化-内存上限
• Memory大小设置
-可用物理内存- 32/64操作系统支持
性能优化- I/O上限
• I/O上限的情况有以下特点 :
– CPU负荷未满– 无论客户端的压力有多大,性能都一样
• I/O上限的种类 :
– 数据库瓶颈– 网络瓶颈
性能优化- I/O上限
• 应用的瓶颈在数据库端• 解决方案:
– 采用索引– 建立更多的数据库连接– 采用一台高性能的专用的主机– 调优数据库
性能优化- I/O上限
• 网络负荷饱和时,它便成为瓶颈• 监控网络以判断有多少网络带宽被占用• 可能的解决方案 :
– 购买更多的网络带宽– OS的调优
性能优化- 数据库连接池
• 更多的连接在一个连接池中可以很大地提高性能• 勿让连接数超过工作线程数• 别让应用在运行时自动增溢连接• 相关参数
-初始化连接数-增长数-最大连接数-连接有效性检查
• 配置– 数据源 > 连接池属性
性能优化- 工作线程
•
•
•
•
•
工作线程:数据读取、请求处理增加并发处理能力性能曲线为抛物线经验值: 1CPU= 50
配置– 应用程序服务器 > server1 > 线程池 > Default
性能优化- 日志
•
•
•
•
•
•
减少应用不必要的日志输出诊断跟踪日志JVM日志进程日志IBM服务日志配置
– 应用程序服务器 > server1 > 记录和跟踪
常见问题经验共享
常见问题经验共享
• 集群下 session同步问题-与负载均衡方案相关
• 解决办法- session里内容少,可采用内存复制-强制 session绑定(硬件负载均衡)
常见问题经验共享
• 虚拟机 Dump问题-系统 Down机-可能导致无法启动
• 解决办法-禁止 Dump,如 AIX下可把 /etc/security/limits 的
COREDUMP参数设成 0- 程序避免大结果集查询
常见问题经验共享• 修改 web.xml 文件不起作用
-位置不对-三个位置
• 解决办法-重新发布应用- 三个位置同时修改
$APPSRV_HOME/installedApps
$APPSRV_HOME/config/cells/$CELL_NAME/applications
$DMGR_HOME/config/cells/$CELL_NAME/applications