性能测试工程师必须掌握的诊断工具及应用实例

“工欲善其事,必先利其器”,那么作为一名性能测试工程师需要了解到的诊断工具有哪些呢?在实际工作中要怎么去应用呢?


1、应用层报文抓取工具-HTTPWatch

快速定位请求、响应时间

快速查找请求、响应完整HTTP报文

快速定位请求、响应数据量

image.png

image.png

 

2、传输层报文抓取工具-Wireshark

捕获完整应用层、传输层通信报文。

支持数据筛选过滤。

image.png

image.png

 

3、SQL执行计划工具

通过执行计划工具对SQL语句执行计划进行分析

通过命令行工具(set autotrace on)

通过10046 trace跟踪

image.png

SQL执行计划分析-全表扫描和索引

image.png

(全表扫描Cost小于索引,原因是查询数据量较大


SQL执行计划分析-表分析(1)

image.png

(没有经过表分析的表数据量信息比实际数据量多出1万多条。


SQL执行计划分析-表分析(2)

select * from t1 where object_id = 1000

image.png

 

Oracle使用动态采样(dynamic sampling used for this statement (level=2))进行查询,但表中返回的记录数为12条,实际应为1条。


SQL执行计划分析-表分析(3)

select * from t1 where object_id = 1000;

 

image.png


经过数据表的数据分析后,可以看到Oracle准确的计算出该查询语句结果为1行。