简介
吞吐量、响应时间、资源使用情况随着并发用户数的趋势如下图所示:
响应时间(RT)
说明
RT:response time
指应用执行一个操作所需的时间,包括从发出请求开始到最后收到响应所需要的时间。
示例
拿我们平常浏览网站点击链接为例,响应时间大致包括如下几步:
- 用户通过鼠标或键盘发出请求操作
- 浏览器构造请求(请求头,请求体)
- 用户计算机向网站服务器发送HTTP请求
- 服务器处理请求
- 业务逻辑
- 数据库访问
- 服务器构造响应(响应头,响应体)
- 服务器向用户计算机发送HTTP响应
- 浏览器解析响应中的信息,渲染页面
- 用户通过屏幕看到响应信息
以下列出了一些常用的系统操作所需要的响应时间
操作
响应时间
打开一个网站
几秒
在数据库中查询一条记录(有索引)
十几毫秒
机械磁盘一次寻址定位
4 毫秒
从机械磁盘顺序读取 1MB 数据
2 毫秒
从SSD磁盘顺序读取 1MB 数据
0.3 毫秒
从远程分布式缓存 Redis 读取一个数据
0.5 毫秒
从内存中读取 1MB 数据
十几微秒
Java程序本地方法调用
几微秒
网络传输 2KB 数据
1 微秒
并发量
说明
指系统能够同时处理请求的数目。对于网站而言,并发数即网站并发用户数,指同时提交请求的用户数目。
网站并发用户数对应的还有网站在线用户数(当前登录网站的用户总数)和网站系统用户数(可能访问网站系统的总用户数,对多数网站而言就是用户表里的记录数)。三者之间的数量关系为:网站系统用户数 >> 网站在线用户数 >> 网站并发用户数
吞吐量
指单位时间内系统处理的请求数,体现系统的整体处理能力。QPS(每秒查询数)、TPS(每秒事务数)、HPS(每秒HTTP请求数)是常用的指标。
每秒请求数(QPS)
QPS:Query Per Second
每秒事务数(TPS)
TPS:transaction per second