但行好事,莫问前程,有任何疑问请留言,作者有问必答哦!!!
本文内容为作者个人经验理解总结、不存在绝对情况、请自行判断~
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 等等
4.2、压力机资源关注点:
cpu、内存、磁盘、io等等、通常情况下压力机资源不会出现不足
4.3、被测服务器资源关注点:
cpu、内存、磁盘、io等等、需要与研发同学共同监控
4.4、被测服务器资源可视化方案:
prometheus + grafana 等等
5、注意事项
5.1、一定要使用linux服务器作为压力机来进行压测任务的执行、linux操作系统相对于windows及mac来
比较、运行环境更加干净、机器本身性能更强、处理能力更高、网络更加稳定、通常情况下本地使
用笔记本进行压测得出的结果不够准确、严格来讲不符合规范。
5.2、当接口入参请求报文过大时会非常影响性能,通常情况下请求报文超过1k就可能产生影响、所以压力机的带宽不应过低、且需要保持稳定的网络情况、切勿在网络波动情况下进行压测。
持续更新中~~