根据业务场景建模
业务性能指标
| 指标名 | 指标说明 | 采集方法 |
|---|---|---|
| 并发用户数 | 在同一时刻与服务器进行了交互的在线用户数量。 | Jmeter/loadrunner |
| 响应时间 | 客户发出请求到得到响应的整个过程的时间。一般他可以分为三部分:呈现 时间,数据传输时间和系统处理时间。 | Jmeter/loadrunner |
| 吞吐量 | 一次性能测试过程中网络上传输的数据量的总和。 | Jmeter/loadrunner |
| 每秒处理事务 数(TPS) | 每秒钟系统能够处理事务或交易的数量,它是衡量系统处理能力的重要指标。 | Jmeter/loadrunner |
| 点击率 | 点击率可以看做是 TPS 的一种特定情况。每秒钟用户向 web 服务器提交的 HTTP 请求数。 | Jmeter/loadrunner |
| 事务成功率 | 本次测试中出现成功的事务数量/事务的总数 | Jmeter/loadrunner |
应用服务器及硬件性能指标
| 指标名 | 指标说明 | 采集方法 |
|---|---|---|
| CPU占用率 | 对一个时间段内 CPU 使用状况的统计。 建议:<75% | nmon/vmstat/top |
| Load Average | 一段时间内 CPU 正在处理以及等待 CPU 处理的进程数之和的统计信息,也 就是 CPU 使用队列的长度的统计信息。 建议:<0.7CPU 个数核 | top/uptime |
| Paging rat | 内存页交换率,建议<80% | nmon/vmstat/top |
| 磁盘 I/O | Iowait<30% | nmon/iostat/sar |
| SWAP | 有没有交换页面 | nmon |
| Tomcat 启动的总线程数 | 关注线程数会不会无限制增长、线程数量是否足够 | Top |
| Full GC 次数 | 关注 Full GC 次数,以及 Full GC 后内存占用有没有明显增长 | Jstat/jconsole |
| JVM 内存使用与 回收 | Jstat/jconsole | |
| JDBC监控 | Jprofiler | |
| Exception 日志监控 | 监控压力过程中是否有异常日志产生 | Tail&grep |
性能指标参考
| 指标项 | 优秀 | 中等 | 差 |
|---|---|---|---|
| TPS | TPS>=100 | 50<TPS<100 | TPS<=50 |
| 响应时间 | RT<=200ms | 200ms<RT<500ms | RT>=500ms |
| 响应长度 | ResponseSize<=100KB | ResponseSize<500KB | ResponseSize>=500KB |
| CPU | CPU<=75% | 75%<CPU<80% | CPU>=80% |
| Load | Load<=2 | 2<Load<5 | Load>=5 |
| FullGC | FullGC<=1 | 1<FullGC<10 | FullGC>=10 |
| DBQPS | DBQPS<5*TPS | 5TPS<DBQPS<10TPS | DBQPS>=10*TPS |
| 慢SQL数量 | 慢SQL=0 | 慢SQL=1 | 慢SQL>=2 |
