在性能测试过程中,需求分析以及性能指标的确定,是性能测试方案中的重要部分。通过分析系统核心业务,抽取测试场景,分析业务性能指标,最终确定测试模型。通常,系统核心业务/模块,产品或需求人员都能比较清晰地梳理出来,但是,每个场景的性能指标,不一定是清晰的。那么,如何确定所抽取场景的性能指标呢?
预期指标的确定
1、业务监控系统
通过业务监控系统,找到业务量峰值,除以机器数量,计算出单机系统每秒的业务量。大多系统都有各种各样的监控系统,定期监控各业务模块核心接口的调用量、平均耗时等等,一般是以分钟级别做监控。
我们可以在监控系统里查看过去一周(或者一个月)内,接口调用量最高的那一天,然后再找到当天中接口调用量最高的时间点(分钟级别),比如说是在 12:10 调用量为 10000,那么我们再换算为每秒调用量10000/60=166,因此可以确定这个接口 tps 只要达到 166 即可满足。
2、日志
通过中间件的日志,统计访问日志统计接口调用量,或者数据库表中查询每天的写入数据量。
比如,Nginx的access.log,该日志中详细记录了每个HTTP请求的访问时间、URL、响应状态码、响应时间等。可以通过一些脚本或命令,统计出每个 接口在哪个时间段调用最高,调用量峰值是多少。根据峰值数据,最终可以计算出每秒的调 用量,然后可以将这个指标定为接口的预期 TPS。(awk'{print $7}'access.log | sort l uniq -c | sort -rn | head -10