WAS常见问题处理与系统维护建议ppt课件.ppt
《WAS常见问题处理与系统维护建议ppt课件.ppt》由会员分享,可在线阅读,更多相关《WAS常见问题处理与系统维护建议ppt课件.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Global Technology Services 2008 IBM CorporationClient FocusCommitmentCollaborationWAS常见问题处理与系统维护建议常见问题处理与系统维护建议IBM WebSphere技术支持工程师技术支持工程师Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 2 | 议程议程n WebSphere Application Server (WAS) 介绍介绍n WAS常见性
2、能问题处理常见性能问题处理内存问题内存问题响应慢响应慢/线程挂起线程挂起高高CPUcrash宕机宕机n系统维护建议系统维护建议健康检查健康检查问题管理问题管理补丁管理补丁管理nQ&AGlobal Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 3 | n WebSphere Application Server (WAS) 介绍介绍n WAS常见性能问题处理常见性能问题处理内存问题内存问题响应慢响应慢/线程挂起线程挂起高高CPUcrash宕机宕机n
3、系统维护建议系统维护建议健康检查健康检查问题管理问题管理补丁管理补丁管理nQ&AGlobal Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 4 | WAS是什么?是什么?n三层电子商务环境中的Web中间件(中间层)nIBM实现的J2EE 平台nJava 运行时环境(JRE)Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment C
4、ollaborationPage 5 | WAS是什么?是什么? Web中间件中间件n第一层:第一层:HTTP服务器,处理并转发客户端发来的请求服务器,处理并转发客户端发来的请求n第二层:第二层:WAS,处理执行请求,连接前端,处理执行请求,连接前端HTTP服务器和后台系统服务器和后台系统n第三层:商业数据库和其他业务逻辑第三层:商业数据库和其他业务逻辑Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 6 | WAS是什么?是什么? J
5、2EE 平台Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 7 | WAS是什么?是什么? Java 运行时环境Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 8 | WAS拓扑中的基本概念拓扑中的基本概念n单元(单元(Cell):):由一组节点组成的一个管理域由一组节点组成
6、的一个管理域n节点(节点(Node):):在一台物理机上若干应用服务器配置和运行时管理的集合在一台物理机上若干应用服务器配置和运行时管理的集合n应用程序服务器(应用程序服务器(Application Server):):所有配置中最主要的运行时组件,是应用程序真正运行的环境所有配置中最主要的运行时组件,是应用程序真正运行的环境n部署管理器(部署管理器(Deployment Manager或或dmgr):):Network Deployment (ND) 环境中管理整个单元的进程环境中管理整个单元的进程n节点代理(节点代理(Nodeagent):):Network Deployment (ND)
7、 环境中管理某个节点的进程环境中管理某个节点的进程n集群(集群(Cluster):):一起管理的一组应用程序服务器,用来进行负载均衡一起管理的一组应用程序服务器,用来进行负载均衡Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 9 | WAS的基本组件的基本组件Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment Co
8、llaborationPage 10 | 如何管理如何管理WASn基于基于web的管理工具的管理工具 - 管理控制台管理控制台n基于脚本编制的管理工具基于脚本编制的管理工具 - wsadminGlobal Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 11 | 如何管理如何管理WAS 管理控制台管理控制台n单机环境:运行在本单机环境:运行在本server上,只能管理自己上,只能管理自己nND环境:运行在环境:运行在dmgr上,可管理单元中所有的上
9、,可管理单元中所有的server,通过,通过“同步同步”操作将配置更改同操作将配置更改同步到各个节点步到各个节点http:/:9060/ibm/console (or /admin)https:/:9043/ibm/console (or /admin)Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 12 | 如何管理如何管理WAS wsadminn通过脚本方式管理通过脚本方式管理WAS的运行时环境和配置的运行时环境和配置n支持两种脚
10、本编制语言:支持两种脚本编制语言:Jacl 和和Jythonn三种使用方式:三种使用方式:执行单个命令:执行单个命令:lC:profilesbinwsadmin -c AdminControl.getNode()进入交互式环境:进入交互式环境:lC:profilesbinwsadminlwsadmin执行脚本文件:执行脚本文件:lC:profilesbinwsadmin -f myScript.pyGlobal Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment Collaboratio
11、nPage 13 | n WebSphere Application Server (WAS) 介绍介绍n WAS常见性能问题处理常见性能问题处理内存问题内存问题响应慢响应慢/线程挂起线程挂起高高CPUcrash宕机宕机n系统维护建议系统维护建议健康检查健康检查问题管理问题管理补丁管理补丁管理nQ&AGlobal Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 14 | WAS问题的分类和特点问题的分类和特点n配置相关问题配置相关问题安装安装/升级
12、失败升级失败HTTP请求转发失败请求转发失败类加载异常类加载异常应用程序发布及访问异常应用程序发布及访问异常n性能相关问题性能相关问题内存溢出内存溢出响应慢响应慢/线程挂起线程挂起高高CPU宕机,进程退出宕机,进程退出处理性能问题和性能调优对于系统运维部门来说是一项长期、重要的工作处理性能问题和性能调优对于系统运维部门来说是一项长期、重要的工作n配置问题多出现在新环境刚上线后的一段时间配置问题多出现在新环境刚上线后的一段时间问题相对比较明确问题相对比较明确解决一次即可解决一次即可n性能问题通常会伴随系统较长时间性能问题通常会伴随系统较长时间有些问题需要积累很长时间才会体现出来,如有些问题需要积
13、累很长时间才会体现出来,如内存溢出内存溢出有些问题可能只在某些特殊条件下才会出现,有些问题可能只在某些特殊条件下才会出现,如宕机如宕机有些问题是随着新的业务高峰的到来而出现的有些问题是随着新的业务高峰的到来而出现的有些问题是应用程序变更后引起的性能瓶颈有些问题是应用程序变更后引起的性能瓶颈Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 15 | n WebSphere Application Server (WAS) 介绍介绍n WA
14、S常见性能问题处理常见性能问题处理内存问题内存问题响应慢响应慢/线程挂起线程挂起高高CPUcrash宕机宕机n系统维护建议系统维护建议健康检查健康检查问题管理问题管理补丁管理补丁管理nQ&AGlobal Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 16 | WAS使用的内存使用的内存nJava 堆内存(堆内存(Java heap)存放存放Java对象的内存空间对象的内存空间通过通过-Xms(初始堆大小)和(初始堆大小)和-Xmx(最大堆大小)设
15、置,并在运行过程中由(最大堆大小)设置,并在运行过程中由JVM动态调整动态调整n本地内存(本地内存(native memory)Java对象之外使用的一些内存对象之外使用的一些内存不能手动设置,不能手动设置,等于进程可用总内存(等于进程可用总内存(User Space)减去)减去Java最大堆内存最大堆内存32-bit WASlAIX: 2.75G-Xmx (Xmx2304M)lLinux: 3G-XmxlWindows: 2G-Xmx64-bit WASl64-bit环境寻址空间非常大,本地内存理论上可以很大Global Technology Services 2008 IBM Corpor
16、ationIBM ConfidentialClient Focus Commitment CollaborationPage 17 | Java堆内存溢出堆内存溢出 主要分类主要分类n堆内存耗尽堆内存耗尽内存泄漏内存泄漏内存使用量短时间内达到最大值(如很大的数据库查询结果集)内存使用量短时间内达到最大值(如很大的数据库查询结果集)n大对象分配大对象分配64KB 即为大对象即为大对象可添加可添加JVM参数找出大对象:参数找出大对象:-Xdump:stack:events=allocation,filter=#5mn堆内存碎片化(主要是堆内存碎片化(主要是V6.0及以前的版本)及以前的版本)pin
17、ned objects 不可移动的对象不可移动的对象Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 18 | Java堆内存溢出堆内存溢出 内存泄漏内存泄漏监控和调整监控和调整 - 性能查看器性能查看器 - 当前活动当前活动 - (服务器名字)(服务器名字)- 性能模块性能模块 堆内存使用量持续增长,当增长到最大堆后,将无法分配新内存,出现内存溢出堆内存使用量持续增长,当增长到最大堆后,将无法分配新内存,出现内存溢出Global Te
18、chnology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 19 | Java堆内存溢出堆内存溢出 内存泄漏内存泄漏n正常情况下堆内存的大小应该是正常情况下堆内存的大小应该是均值稳定的锯齿状图形均值稳定的锯齿状图形Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 20 | Java堆内存溢出堆内存溢出 需要
19、收集的数据需要收集的数据n堆内存转储堆内存转储 heapdump文件文件分析堆内存的具体使用情况分析堆内存的具体使用情况默认生成在默认生成在下下n详细垃圾回收日志详细垃圾回收日志 native_stderr.log分析出现内存溢出的过程分析出现内存溢出的过程确认触发内存溢出的直接原因确认触发内存溢出的直接原因评估垃圾回收性能,找出合适的评估垃圾回收性能,找出合适的GC策略和调优参数策略和调优参数需要手动启用需要手动启用nJava线程转储线程转储 javacore文件文件Java线程信息,环境变量及线程信息,环境变量及Java变量设置,类加载信息变量设置,类加载信息java.lang.OutOf
20、MemoryErrorn/logs目录下的其他日志和目录下的其他日志和server.xml文件文件MustGather: Out of Memory errors with WebSphere Application Server on AIX, Linux, or Windowshttp:/ Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 21 | 本地内存溢出本地内存溢出n常见原因常见原因最大堆设置过大最大堆设置过大java.lang.Thre
21、adLocal泄漏本地内存泄漏本地内存AIO:DirectByteBuffer 泄漏本地内存泄漏本地内存JIT(Just-In-Time)编译器内存泄漏)编译器内存泄漏Classloader及其他及其他JNI调用内存泄漏调用内存泄漏通常不会生成通常不会生成heapdump,生成系统,生成系统core,导致,导致crash64-bit环境可能表现为环境可能表现为WAS进程的总内存不断增大进程的总内存不断增大MustGather: Native Memory Issues on Linuxhttp:/ Native Memory Issues on AIXhttp:/ Technology Ser
22、vices 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 22 | n WebSphere Application Server (WAS) 介绍介绍n WAS常见性能问题处理常见性能问题处理内存问题内存问题响应慢响应慢/线程挂起线程挂起高高CPUcrash宕机宕机n系统维护建议系统维护建议健康检查健康检查问题管理问题管理补丁管理补丁管理nQ&AGlobal Technology Services 2008 IBM CorporationIBM ConfidentialClient F
23、ocus Commitment CollaborationPage 23 | WAS响应慢响应慢 性能瓶颈在哪里?性能瓶颈在哪里?nHTTP服务器和插件服务器和插件nJava堆内存配置不合理堆内存配置不合理nWebContainer线程池线程池n数据源连接池数据源连接池n网络质量网络质量n数据库性能数据库性能Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 24 | 线程挂起线程挂起 现象和成因现象和成因n线程挂起是线程挂起是JVM不再
24、响应客户端请求的一种状态,现象可能表现为:不再响应客户端请求的一种状态,现象可能表现为:应用程序首页无法打开应用程序首页无法打开WAS访问端口(访问端口(9080)连接数高)连接数高SystemOut.log日志中出现日志中出现WSVR0605Wn可能导致线程挂起的原因:可能导致线程挂起的原因:线程死锁:线程死锁:A线程等待线程等待B线程正在使用的某个资源,同时,线程正在使用的某个资源,同时,B线程也在等待线程也在等待A线线程正在使用的某个资源程正在使用的某个资源应用程序代码问题:部分代码效率不高,在业务压力大的时候成为性能瓶颈应用程序代码问题:部分代码效率不高,在业务压力大的时候成为性能瓶颈
25、线程池和线程池和/或数据源配置不合理或数据源配置不合理数据库和数据库和/或其他后台系统存在性能问题或其他后台系统存在性能问题垃圾回收效率低下,垃圾回收效率低下,GC开销过大开销过大系统物理资源瓶颈:物理内存不足,出现换页;系统物理资源瓶颈:物理内存不足,出现换页;I/O高;高;Global Technology Services 2008 IBM CorporationIBM ConfidentialClient Focus Commitment CollaborationPage 25 | 线程挂起线程挂起 需要收集的数据需要收集的数据n用用kill -3生成三个生成三个javacore,每
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WAS 常见问题 处理 系统维护 建议 ppt 课件
限制150内