性能测试结果分析-2019-01-25
TPS:Transaction Per Second, 每秒事务数, 是衡量系统性能的一个非常重要的指标。
作者认为现在很多从业人员在做性能测试时,都错误的认为系统能支撑的并发用户数越多,系统的性能就
越好。要理解这个问题,
首先需要了解 TPS 和并发用户数之间的关系:
TPS 就是每秒事务数,但是事务是基于虚拟用户数的,假如 1 个虚拟用户在 1 秒内完成 1 笔事务,那么 TPS 明
显就是 1;如果 某笔业务响应时间是 1ms,那么 1 个用户在 1 秒内能完成 1000 笔事务,TPS 就是 1000 了;
如果某笔业务响应时间是 1s,那么 1 个用户在 1 秒内只能完 成 1 笔事务,要想达到 1000TPS,至少需要
1000 个用户;因此可以说 1 个用户可以产生 1000TPS,1000 个用户也可以产生 1000TPS,无 非是看响
应时间快慢。
也就是说,在评定服务器的性能时,应该结合 TPS 和并发用户数,以 TPS 为主,并发用户数为辅来衡量系统的
性能。如果必须要用并发用户数来衡量的 话,需要一个前提,那就是交易在多长时间内完成,因为在系统负载
不高的情况下,将思考时间(思考时间的值等于交易响应时间)加到脚本中,并发用户数基本可 以增加一倍,因此
用并发用户数来衡量系统的性能没太大的意义。
作者最后做了综述,他认为在性能测试时并不需要用上万的用户并发去进行测试,如果只需要保证系统处理业务
时间足够快,几百个用户甚至几十个用户就可 以达到目的。据他了解,很多专家做过的性能测试项目基本都没
有超过 5000 用户并发。因此对于大型系统、业务量非常高、硬件配置足够多的情况下,5000 用户并发就足
够了;对于中小型系统,1000 用户并发就足够了。
性能测试需要一套标准化流程及测试策略,在实际测试时我们还需要考虑其它方面的问题,比如如何模拟成千上
万来自不同地区用户的访问场景、如何选用合适的测试软件。性能测试对一些小的团队来说并非易事,不过前段
时间阿里云发布了性能测试服务 PTS,PTS 可以帮助开发者通过分布式并发压力测试,模拟指定区域和指定数
量的用户同时访问,提前预知网站承载力。这就是云计算给我们带来的便利。
如何让 jmeter 压力测试减少压力机的资源消耗?
如下是官方的一些建议:
1. 使用非 gui 模式,例如 jmeter -n -t test.jmx -l test.jtl
2. 尽量用较少的监听器(listeners);如果使用了-l 标致像上面一样,则监听器就将会被弃用。
3. 尽量不要使用很多一样的 samplers,应该使用一个 sampeler 在一个循环里,然后使用 csv data set 去改
变具体 sampler 的变量。或者最好使用 Access log sampler。
4. 不要使用功能模式 functonal mode.
5. 使用 CSV 输出,不要使用 xml 格式输出。
6. 脚本尽量的不写无关的内容。
7. 用尽量少的断言。
章节一压力测试课程介绍
1、2018 年亿级流量压测系列之 Jmeter4.0 课程介绍和效果演示
简介:
讲解课程安排,使用的 Jmeter 版本
讲课风格:涉及的组件,操作配置多,不会一次性讲解,会先讲部分,然后在后续操作中慢慢补充,
更容易消化和理解
2、常用压力测试工具对比
5 / 24