性能测试(2)监控篇
一、 普通联机指标-JMETER报告
1. 处理能力TPS
2. 响应时间ART
3. 请求成功率
4. 并发数
以上指标可观察JMETER生成HTML报告,具体报告内容解析详见(报告解读篇)。
二、 资源阈值
1. CPU使用率
2. MEM使用率
3. IO使用率
以上指标为基础常用指标,若有资源需求则必须监控。监控方式如下:
1.命令监控:(不推荐,适合单台服务器观察,无监控结果输出)
- TOP:用于实时显示 process 的动态和资源使用情况。
- vmstat:用来显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态。
- iostat:用于输出CPU和磁盘I/O相关的统计信息
- free:显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。
2.工具监控:(Nmon 开源性能监控工具,用于监控linux系统的资源消耗信息。)
-
实时监控(不推荐,适合单台服务器观察,无监控结果输出)
将nmon上传至被测服务器。
进入nmon所在目录,输入./nmon
可进入监控页面
可根据需要选择监控内容,Q建退出 -
命令监控(推荐)
输出命令,将监控结果保存为文件(包括CPU,IO,MEM,NET相关内容)。例如:./nmon -F XXX.nmon -s 5 -c 5
-t 每5秒监控一次,一共监控5次,结果放在xxx.nmon文件中,输出结果包括资源使用率较大的进程 详细参数如下
-f 电子表格输出格式[注意:默认-s300 -c288] 输出文件是 _YYYYMMDD_HHMM.nmon-F 与-f相同,但用户提供的文件名
-c 快照数
-d 请求磁盘服务和等待时间(DISKSERV和DISKWAIT)
-i 在使用少于此数量的CPU时忽略进程生成TOP部分 - 对减少数据量很有用
-g 包含磁盘组定义的文件
-l 每张纸的hdisk数 - 默认为150,最大为250.
-m NMON在保存文件之前更改为此目录
-r 进入电子表格文件[默认主机名]
-s <秒>快照之间的间隔
-x 容量规划(1天时间,每15分钟监控一次= -fdt -s900 -c96)
-t 包括输出中的顶级进程
-T as -t plus在UARG部分保存命令行参数
-A 包括异步I / O(PROCAIO)部分的数据
-D 防止生成DISK部分(在磁盘组时有用)正在使用,因为有太多的硬盘要处理)
-E 停止生成ESS部分(磁盘组时需要)正在使用因为有太多的vpath要处理)
-J 防止生成JFS部分(防止Excel错误当你有超过255个文件系统)
-L 包括LARGEPAGE部分
-N 包括NFS部分
-S 包括带子类的WLM部分
-W 包括没有子类的WLM部分
-Y 包括SUMMARY部分(非常有效的替代-t if不需要PID级别数据)
结果文件可用nmon官方分析器,生成EXCEL报告
三、JDK
1.Jstat
查看堆内存各部分的使用量,以及加载类的数量。
jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]
2.Jstack
线程堆栈分析工具,使用该命令可以查看或导出 Java 应用程序中线程堆栈信息。
jstack pid
3.Jmap
可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息、查看 ClassLoader 的信息以及 finalizer 队列。
jmap [option] pid
四、二次开发工具
1.由于复杂系统普遍涉及服务器较多,导致监控过于繁琐耗时,基于以上监控方法二次开发性能监控工具。
2.目前工具已实现多线程批量部署监控工具,多线程批量启动监控的功能。监控内容包含CPU,IO,MEM,JDK,MYSQL部分指标。