性能测试TPS指标到底多算才算合适呢?二八定律

性能测试TPS指标到底多算才算合适呢?二八定律

前言

通常我们在压测的时候,都会有一个指标去衡量,比如搜索商品接口,我们预期TPS需要达到多少。

最理想的情况就是开发/产品/项目经理提前确定好了性能指标,但是通常大多数公司对于性能不是很理解,可能你问产品经理,产品经理说TPS是什么。那么这种情况下,我们就需要根据实际情况进行分析,确认性能指标。

明确压测项目类型

一般我们压测的项目会分为两类,一种是老项目,一个是新项目。像我们公司的项目已经上线运行了很长一段时间了,那么在生产环境中,会生成一些历史数据,并且线上也业务监控系统,定期监控各个业务模块核心接口的调用量、平均耗时等数据。那么我们可以去分析TOP前10的接口(这个根据公司实际情况而定),这些接口在过去一周或者一个月内,接口调用量最高的那一天,找到他的峰值。

比如我商品搜索的接口,接口调用量最高的时间点(分钟级别)如1:30分的时候,调用量为10000,那么我们可以根据根据这个峰值去计算他的TPS。 10000/60 =166, 因此我们可以确定这个接口TPS达到166即可满足。

那有些朋友会说,我们公司没有业务监控系统,这种怎么去评估呢?方法有很多,比如我们通过中间件的日志,每个中间件都有访问日志。比如 Nginx 的 access.log,该日志中详情记录了每个HTTP请求的访问时间、url、响应时间、响应状态码。

那么我们有这些数据,就可以通过脚本编写,统计处每个接口在哪个时间端调用最高、调用的峰值是多少。根据这个数据统计出接口每秒的tps。

二八定律

那么实际工作中,比如我们新上线一个项目,需要我们上线前先压测一轮,那么在没有历史数据的情况下,我们怎么去定义这个性能指标呢?

这里有一个算法,叫做 二八定律。意思是80%的用户请求发生在

评论留言