优秀的编程知识分享平台

网站首页 > 技术文章 正文

怎么找到并发数、平均响应时间、TPS的最佳平衡点?

nanyue 2024-08-30 20:54:54 技术文章 13 ℃

性能测试常用的指标有三个:并发、响应时间、TPS

并发:跑道里参加赛跑的人数(这里的并发是广义的并发,即同一个时间段内对系统发起的请求数量)

响应时间:也就是平均每个事务的处理时间

TPS:每秒处理的事务数


需求指标:分为单指标和多指标

单指标:一般是单测试tps,或者根据并发测试响应时间,或者根据响应时间测试并发,只考虑单指标的很少

多指标:要同时考虑多个指标,比如tps + 响应时间(<1s)

意思就是要找到这三个指标同时最佳值的点,即:不能只追求并发数大,而忽略TPS。所以,这是一个多指标性能需求,假设是这样的:要求响应时间1秒以内,并发数要尽可能的多,TPS要尽可能的大。

先画一个简单的示意图,方便大家理解:随着并发数增加,响应时间肯定是越来越高,所以上面:

红线是响应时间;

蓝线是tps,随着并发数增加,tps是先升高到峰值,然后下降(也可能是一直平稳,或者平稳一段时间再下降);

紫色表示并发用户数;

该怎么去找这个最佳平衡点呢?

①尽可能多的做不同并发数下的压测,记录下响应时间(1s以内)和最大TPS。当然,服务器端,各个服务器的资源利用率在可接受范围内(每个公司不一样)

②然后根据获取到的不同并发下的指标数据(并发数、tps、响应时间),画出图,关注右侧的交点,即tps下降的地方和响应时间的交点,这个点的tps最大。

如果响应时间在1s以内,此时并发数也是比较大的,这个点就可以认为是三个指标都不错的平衡点(这里把tps放在第一位优先考虑了,这个就看大家最在乎哪个指标了,排个优先级);

如果响应时间大于1s,最佳平衡点就往左找,找到响应时间为1秒的点,此时对应的tps和并发值,就是最佳平衡点。

总之,测试采样越多,获取的平衡点就越准确。

最近发表
标签列表