- 性能测试概念
通过自动化的测试工具模拟多种正常峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试与压力测试都属于性能测试范畴。
2. 性能测试的目的
- 评估系统的能力:通过检测
- 识别体系中的弱点
- 系统调优
- 检测软件中的问题
- 验证稳定性/可靠性
一般包括负载测试,压力测试及容量测试
负载测试:通过增加负载,确定在各种工作负载下系统的性能,目标是当负载逐渐增加时,测试系统各项性能指标的变化情况
压力测试:通过确定一个系统的瓶颈,检测测试系统能否长时间稳定的运行
容量测试:确定系统可以处理同时在线的最大用户数
4. 性能测试的常见指标
如Avg Rps(平均每秒钟的响应次数),TPS(吞吐量),用户连接数,CPU利用率,Mem Using(内存使用率),RT(响应时间)等
5. 性能测试的基本流程
- 明确性能测试需求
- 制定性能测试方案
- 编写性能测试用例
- 执行性能测试用例
- 分析性能测试结果
- 生成性能测试报告(一般包括以下内容:测试基本信息,测试环境描述,测试用例执行情况及测试结果分析,测试综合分析及建议,测试经验总结)
- 并发
狭义上的并发:即所有的用户在同一时刻做同一件事或操作,这种操作一般指做同一类型的业务,比如100个用户同时进行登录操作
广义上的并发:多个用户对系统发出了请求或者进行了操作,但是这些请求或都操作可以是相同的,也可以是不同的,但是这里有个前提,这些操作都必须跟服务器发生交互,如果打开了一个新闻,正在浏览新闻,此时你并未与服务器进行操作,不算并发。
并发数:所谓并发数,就是并发的用户数量,这些用户操作应该满足同时和与服务器发生交互,才算的上并发用户
- 吞吐量
指在一次性能测试过程中网络上传输的数据量的总和,也可以这样说在单次业务中,客户端与服务器端进行的数据交互总量。
对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,在容量规划的测试中,吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值。如一个大型工厂,他们的生产效率与生产速度很快,一天生产10W吨的货物,结果工厂的运输能力【服务器】不行,就两辆小型三轮车一天拉2吨的货物。
- 吞吐率
吞吐量/传输时时间,比如一个服务器,10s时间内,下载和上传的量为10GB,那么吞吐率就是1G/S。
其实就是单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量。它是衡量网络性能的重要指标,通常情况下,吞吐率用“字节数/秒”来衡量,当然,你可以用“请求数/秒”和“页面数/秒”来衡量。其实,不管是一个请求还是一个页面,它的本质都是在网络上传输的数据,那么来表示数据的单位就是字节数。
- 事务
什么是事务,事务是记录从客户端到服务端,服务器端返回到客户端应答的时间,可以反映出一个操作所用的时间,这里的操作应该是一个完整意义,比如一次登录,一次提交订单。
TPS:每秒事务率。
指每秒钟系统能够处理的交易或事务的数量
HPS:点击率:
指用户每秒向服务器提交的请求数,注意点击一次鼠标包含很多请求,因为点击一次鼠标我们会向服务器请求文字,图片等等内容
- 响应时间
请求响应时间:从客户端发出请求到得到响应的整个过程的时间,单位通常为“秒”或“毫秒”,响应时间=网络响应时间 + 服务器端响应时间
事务响应时间:完成该事务所用的时间。其包含一个或多个“请求响应时间“,比如你进行一次登录操作,此次登录包含多个请求,如想数据库请求用户名和密码、请求登录界面的图片等等。