性能测试流程,瓶颈分析

1.规范的性能测试流程数据库

得到测试需求→测试计划→测试环境搭建→测试用例设计→测试数据准备→测试脚本编写→测试脚本执行→瓶颈分析定位→测试结果反馈→测试报告服务器

 

2.流程节点解释网络

①获取测试需求:架构

提出人:甲方/业务方+开发人员并发

依据系统后期可能达到的访问量(甲方/业务方),以及系统架构、数据库,服务器等(开发人员)。肯定“核心业务场景”以及“测试指标”。性能

 

②测试计划:测试

需“项目经理,甲方/业务方,测试人员”沟通确认。spa

 

③测试环境搭建→测试用例设计→测试数据准备→测试脚本编写→测试脚本执行:操作系统

这部分和功能测试流程大致一致。线程

侧重点在于测试环境的搭建(压力机构建),测试数据准备,脚本编写。

 

④瓶颈分析:

这是很重要的一个环节。

性能测试不是一蹴而就的,要达到压测需求,需反复调优和压测。

开始压测前,须要设置压力

 

ulimit -n  //查看Linux操做系统链接数

如下是我我的项目总结的几点:

1.压力机性能需知足压测需求

2.本地压测(脚本放在系统服务器上执行),排除网络因素,测试系统的健壮性。

3.模拟真实的业务场景(eg:设备是链接手机热点上报数据,压力机的网络链接为手机热点)

4.CPU上不去,脚本运行大量失败。(需经理和开发人员进行代码审核)

5.低并发,CPU太高。(需代码调优)

测试人员能够在服务器上,用top命令找出CPU占用率最大的线程。

top   //找到CPU占用率最大进程的PID,或者是待测脚本的PID
top -p [PID]     //只监控这个PID
H     //查看当前进程的线程信息,找到CPU消耗最高的线程ID
jstack 11567 [PID]     //作dump,输出整个进程信息

这样查出来的线程编号是:

线程ID转换为十六进制 = dump文件中的nid = 内存消耗最大的代码块,能够截取此部分给开发看

相关文章
相关标签/搜索