性能测试之指标监控及注意事项

1、接口性能测试重要指标:

并发量:线程数、用户数、同时执行程序数。

tps:又叫吞吐量、每秒处理请求数。

rt:请求响应时间、毫秒级别、互联网项目中通常平均rt不可以超过500ms、否则用户会出现感

知、且个别场景下最大rt也会有具体性能要求。

error:错误率、异常率、通常情况下错误率不允许超过万分之三、而金融类及支付类产品不允许出

现错误率、需根据产品使用场景具体制定性能需求。

2、接口性能测试结果指标的主要关系:

2.1、制定性能需求及测试方案时,需要根据产品实际使用情况,在确定了具体并发数的前提下,给出tps及rt等指标的性能需求。

2.2、rt越小,tps就越大,性能也越高。

2.3、并发数越大,rt越大。

3、性能测试执行:

压力机资源情况、通常常规linux服务器4c8g即可、单台jmeter可启动线程数约为3000-5000、工具本身比较轻量、单台机器大并发场景下存在一定局限性、即使调整配置之后仍然解决不了根本问题、通常并发量超过5000或过万并发场景下、使用多台linux搭建jmeter分布式压力机集群来进行解决。

4、监控:

4.1、压测结果指标监控可视化方案:

jmeter + telegraf + influxdb + grafana 等等

cpu、内存、磁盘、io等等、通常情况下压力机资源不会出现不足

cpu、内存、磁盘、io等等、需要与研发同学共同监控

4.4、被测服务器资源可视化方案:

prometheus + grafana 等等

5、注意事项

5.1、一定要使用linux服务器作为压力机来进行压测任务的执行、linux操作系统相对于windows及mac来

比较、运行环境更加干净、机器本身性能更强、处理能力更高、网络更加稳定、通常情况下本地使

用笔记本进行压测得出的结果不够准确、严格来讲不符合规范。

5.2、当接口入参请求报文过大时会非常影响性能,通常情况下请求报文超过1k就可能产生影响、所以压力机的带宽不应过低、且需要保持稳定的网络情况、切勿在网络波动情况下进行压测。

持续更新中~~

经验分享 程序员 微信小程序 职场和发展