1、理解什么是性能测试?
用户多、大并发的系统需要进行性能测试,性能测试是指对程序进行的某些指标的测试,大量并发下是否依然能够满足设定的指标
软件性能主要为两个方面:响应时间,及时处理能力。响应时间=网络时间+服务器时间,
服务器:不统计网络时间可以让程序在日志里面打印代码的处理时间;
数据库:打开慢查询,看我们的执行计划,最直接的表现:CPU一般会很高,用户态cpu很高,
数据:单表20-40万才会体现
性能测试准备工作:千兆交换机
2、理解不同的角色对性能测试的关注点
a、管理人员:应用服务器、数据库服务器资源利用率,支持多少用户、最大并发率-系统容量,是否可以更换硬件提高性能,优化代码,优化sql语句---可扩展性,能不能支持7*24小时处理业务-----稳定性。
b、开发人员:架构设计是否合理、数据库设计-----系统架构,代码逻辑、线程-----代码
c、用户:响应时间
3、理解什么是压力测试,什么是负载测试,并区分他们的区别
压力测试是指在负载一定下,持续运行一段时间,验证系统的稳定性。
负载测试是在在不断增加负载的情况,直到响应时间或tps达到一个拐点,查看系统的负载;主要目的为找到系统处理能力的极限;
4、理解性能测试的常用术语
响应时间:是指系统对请求作出响应的时间
tps:每秒处理事务数
吞吐量:是指系统在单位时间内处理请求的数量
系统资源利用率:资源利用率反映的是在一段时间内资源平均占用的情况
并发用户数:是指系统可以同时承载的正常使用系统功能的用户数量
5、性能测试目的
验证系统处理能力,识别系统的性能瓶颈,验证系统的稳定性和可靠性
例:12306系统调优:分流,时间段出票,排队系统,全程票
6、性能测试方法
a点到b点之间的性能测试,指以系统预期性能指标为前提,不断对系统增加压力,以验证系统能否达到预期性能
7、性能测试步骤
a、项目性能调研
b、性能需求分析
c、性能目标确定
d、测试脚本开发
e、测试执行
f、测试结果分析