性能指标理解

Posted by Jingming on December 17, 2020

一、响应时间

响应时间(ResponseTime、RT)指的是用户角度出发从发出请求到获得服务中间经过的等待时间。

响应的对象,可以是一个简单服务,也可以是一个复杂服务(包含若干小服务)。

显然,响应时间指标反应了服务的速度,具体来说,也反应了服务器处理一次请求的速度,也就是单核的处理能力, 响应时间的倒数可以大致反应单核的QPS。

典型网站的响应时间为500到1000毫秒。 web页面的响应时间要求在1500ms 内,而HTTP的服务响应时间要求在100ms内。

响应时间包括:网络往返时间 + 服务器处理时间(CPU时间+ 任务排队等待时间)。很多情况下,一般忽略掉排队因素,因为主要是一次发送,主要考虑CPU处理业务的时间。

二、吞吐量

吞吐量指的是从服务系统角度出发,看一段时间内(例如一分钟)能处理多少个请求。

潜在意思是:

  • 最大吞吐率的是意思是服务系统的并发能力如何,在任务量无限的情况下,系统能同时处理多少任务。
  • 实际吞吐率是指服务系统实际运行期间的吞吐量,因为有的时间段真实请求数其实可能不高。
  • 吞吐量的系统粒度可以是整个系统或者系统中的某个服务或者某个服务中的小功能(例如:QPS是整个系统的每秒查询数;TPS是整个系统每秒能处理的事务数量,一个事务数量可能包含多个小服务 ;DAU 每天用户登陆数,也就是每天系统服务的用户数)

PS.

  • 系统压力测试:对系统中的核心服务(小服务组合成系统,小服务间没有依赖关系)分别模拟出足够多的并发用户并分别进行访问,计算最大吞吐量,然后计算出加权平均值。

  • TTLB:”time to last byte”,意思是从发起一个请求开始,到客户端接收到最后一个字节的响应所耗费的时间。
  • 每天有246060 = 86400秒
  • 一台普通服务器的QPS约为60
  • 计算QPS,计算的其实是最大负荷,例如页面点击数是300万一天,假设80%的访问集中在20%的时间, 那么QPS = (3000000 * 0.8) / (86400 * 0.2) = 139。也就是需要三台机器。

三、PV、VV、UV、IP

PV:Page View,页面浏览量,也就是页面的点击总量,包括刷新页面也算一次页面浏览。

VV:Visit View,访客的访问数。与PV的区别是,访问数的统计要比PV严格,是指用户访问服务并获取服务算一次,例如一次搜索中,用户可能打开了若干页面,但是 只算一次VV。

UV:独立访客数,一天内的同一用户访问只算一个用户。

IP:一天内的同一IP访问只算一个用户。

如何提高吞吐量

吞吐量一般的瓶颈在于数据库的访问,因为数据库的访问会开启大量IO操作。

优化点:

  • 对于读取的访问,应当使用缓存技术来减少对数据库直接接触次数。
  • 对于访问传输的数据应当尽量简洁,可以运用压缩技术来压缩原始数据。