PTT 简介
WebSphere Application Server Performance Tuning Toolkit(简称 PTT)是一款轻量级的基于 eclipse 的客户端软件。启动后的界面如下图 1 所示,
其中,Hosts view 用于创建到 Dmgr(网络部署版)或者 Server(Base 版 ) 的 Soap 连接,连接后系统的拓扑结构会显示在 Topology view 里,Main Area 主要用来显示监控信息,包括主监控面板,每个 Server 的图形化监控页面和详细数据信息等。Tuning Parameters View 和 Scripts View 主要用于性能调优。Tuning Parameters View 用于察看和修改每个服务器的性能参数,比如 JVM 的最大堆大小、垃圾回收策略,各种容器和线程池的大小,HTTP 连接相关设置等。Tuning Parameters View 可以方便得调整 Server 级别的性能参数,尤其是批量调整,但对于很多比较复杂的调优参数,比如 DB 和 JMS 连接池等,则需要通过远程执行 Wsadmin 脚本来优化。
图 1. 工具开始界面
性能监控
PTT 的主要功能分为性能监控和性能调优两大部分。性能监控模块主要通过 JMX 从服务器端收集性能数据,然后在本地进行分析,并通过友好的方式展示给用户。和其他的监控工具(比如 TPV)相比,PTT 提供了更加友好和清晰的展示方式。
尤其是对于拓扑结构比较复杂的环境,PTT 试图让用户在一个面板就可以监控系统的全貌,这个面板我们称之为主监控面板。当用户通过 soap 端口连接到 dmgr 时,主监控面板也随之打开,在这个面板上,我们可以看到所有服务器的主要性能指标和关键参数,
包括性能数据(Servlet 的吞吐率和响应时间,JDBC 的吞吐率和响应时间),错误统计
(Servlet 错误,JDBC 超时,JCA 连接错误,线程阻塞,事务超时和回滚等),系统状态
(Session 个数,CPU 和堆内存的使用率)以及用户自定义警告等。当系统监测到某些指标异常时(比如发生错误或者性能下降等)就会把相应的性能参数在主监控面板中标红,同时会在旁边增加一个警告标记,由于主监控面板只反映系统最近的状态信息,因此很可能某些非正常的性能指标在下一个监控周期内会恢复正常,这时候数据的颜色会恢复成黑色,但是警告标记会一直存在,直到我们手动清除它,这样我们就能清楚地知道哪些数据曾经发生过问题。
图 2. 主监控面板
图 3. 监控数据
PTT 对问题的监测主要是通过规则引擎来完成的。规则引擎允许用户通过自定义规则去检测系统的健康状况,默认的规则文件包含了常用的健康标准,但用户可以根据应用本身的特点修改现有规则或者创建新的规则,一般来说,对应用的了解越深,就越容易制定出精确和有效的规则,从而在主监控面板中捕获更多潜在的问题。我们将会在后续系列文章中详细介绍如何创建自定义规则。
图 4. 性能数据处理
图 5. 规则编辑器
主监控面板可以帮助我们捕获绝大多数错误信息,但是还不足以对问题本身进行深入分析,通常我们还需要查看更详细的数据,双击发生问题的服务器对应的监控表单,可以进入这个服务器的图形化监控页面,这个页面中不但包括了更多的性能数据,还可以展示一段时间内数据的变化,对于很多趋势性的问题而言,这里提供了比较好的分析方法。图形化监控页面的每个点都是一段时间内的统计结果,这个统计时间间隔的长短是可以手动调节的,我们称之为分析时间间隔,默认情况下,分析时间间隔和数据收集的时间间隔相同(后者可以在 preference 面板中设置),但有时候为了让曲线变的更加平滑,我们需要动态增加分析时间间隔的长度,分析时间间隔可以在任何时候动态的进行调整,但是它只能调整为数据收集时间间隔的倍数。此外,你还可以通过设置隐藏某些不需要关心的曲线,从而更容易地通过曲线图之间的对比找到问题的端倪。
图 6. 自定义显示设置
图 7. 修改时间间隔
在图形化监控界面中,把鼠标悬停在某一个点上,可以查看这个点的当前值,
如果需要了解某个数据点的详细的信息,则可以用鼠标单击这个数据点,页面会跳转到详细数据页面,并且选中当前数据点所对应的数据。例如,在图形化监控页面中,Servlet 响应时间为所有 Servlet 响应时间的平均值,当我们用鼠标单击其中的某一个点时,系统会跳转到详细数据页面,在这个页面中,我们可以查看这个点所对应的每一个单独的 Servlet 的响应时间,吞吐率和并发度等信息。不同的 Servlet 会根据它们对结果的贡献度不同,分别标成红色,黄色,绿色和灰色。从下图中可以看到,TradeAppServlet( 红色 ) 对性能变化的贡献最大,因此可以进行重点分析。
图 8. Servlet 响应时间页面
通过“主监控面板—图形化监控页面—详细数据页面“这三级监控视图,
用户既可以从整体上监控系统状态并捕捉异常信息,又可以层层深入进行问题定位。此外,如果想比较系统的了解整个系统的状况,也可以通过“Generate Report” 菜单生成报表,报表中的数据不如数据页面详细,但却包含了大多数统计信息。对于定位系统级问题比较有用。后续系列文章将对三级监控界面和报表的使用进行详细阐述。
图 9. 生成报表
问题定位与性能调优
一般来说,定位问题是解决问题的第一步,也是最重要的一步;一旦问题被定位出来,我们就可以进一步收集数据并进行问题诊断了。故障诊断中经常用到的信息主要包括 Trace 和 Dump 两大类,Trace 主要记录系统状态在一段时间内的变化;而 Dump 则是系统在某一个时间点上的快照,Dump 中的信息通常更为详细,但却不能反映这一时刻之前和之后的系统状态的变化。PTT 可以帮助用户快速生成 Dump 或者启用 Trace,
在 Topology 视图中,用鼠标右键单
以下文章点击率最高
Loading…