QPS与并发数
PS:下面是性能测试的主要概念和计算公式,记录下:
一.系统吞度量要素:
一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。
单个reqeust
对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。
系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间
QPS(TPS):
每秒钟request/事务
数量
并发数:
系统同时处理的request/事务数
响应时间:
一般取平均响应时间
(很多人经常会把并发数和TPS理解混淆)
理解了上面三个要素的意义之后,就能推算出它们之间的关系:
QPS(TPS)=
并发数/平均响应时间
一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。
决定系统响应时间要素
我们做项目要排计划,可以多人同时并发做多项任务,也可以一个人或者多个人串行工作,始终会有一条关键路径,这条路径就是项目的工期。
系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间;
关键路径是有CPU运算、IO、外部系统响应等等组成。
二.系统吞吐量评估:
我们在做系统设计的时候就需要考虑CPU运算、IO、外部系统响应因素造成的影响以及对系统性能的初步预估。
而通常境况下,我们面对需求,我们评估出来的出来QPS、并发数之外,还有另外一个维度:日PV。
通过观察系统的访问日志发现,在用户量很大的情况下,各个时间周期内的同一时间段的访问流量几乎一样。比如工作日的每天早上。只要能拿到日流量图和QPS我们就可以推算日流量。
通常的技术方法:
1.
找出系统的最高TPS和日PV,这两个要素有相对比较稳定的关系(除了放假、季节性因素影响之外)
2.
通过压力测试或者经验预估,得出最高TPS,然后跟进1的关系,计算出系统最高的日吞吐量。B2B中文和淘宝面对的客户群不一样,这两个客户群的网络行为不应用,他们之间的TPS和PV关系比例也不一样。
QPS: 每秒查询率(Query Per Second) ,每秒的响应请求数,也即是最大吞吐能力。 QPS = req/sec = 请求数/秒 QPS统计方式 [一般使用 http_load 进行统计] QPS = 总请求数 / ( 进程总数 * 请求时间 ) QPS: 单个进程每秒请求服务器的成功次数
峰值QPS和机器计算: 原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间 公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS) 机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器
服务器数量计算: 服务器数量 =ceil( 每天总PV / 单台服务器每天总PV )
问:每天100w PV 的在单台机器上,这台机器需要多少QPS? 答:( 1000000 * 0.8 ) / (86400 * 0.2 ) = 46 (QPS)
问:如果一台机器的QPS是18,需要几台机器来支持? 答:46/ 18 = 3
什么是PV: 访问量即Page View, 即页面浏览量或点击量,是衡量一个网站的重要指标。用户一次刷新或一次地址访问立即被计算一次加1。 单台服务器每天PV计算 公式1:每天总PV = QPS * 3600 * 6 公式2:每天总PV = QPS * 3600 * 8
什么是UV: 独立访客即Unique Visitor,访问您网站的一台电脑客户端为一个访客(不同IP地址的人数)。同一天00:00-24:00内相同的客户端只被计算一次,独立IP访问者提供
了一定时间内不同观众数量的统计指标,而没有反应出网站的全面活动。
什么是PR值: PR(即PageRank),即网页的级别技术,或网站权重或受欢迎度。表示一个网页的重要程度。级别从1到10级,10级为满分。PR值越高说明该网页越受欢迎。
什么是IP: IP地址就是给每个连接在互联网上的计算机分配的一个32位ipv4地址。(现已有64位地址)
并发数: 并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量
吞吐量: 吞吐量是指系统在单位时间内处理请求的数量
响应时间(RT): 响应时间是指系统对请求作出响应的时间
例子:
每天300w PV 的在单台机器上,这台机器需要多少QPS? 答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS) 如果一台机器的QPS是58,需要几台机器来支持? 答:139 / 58 = 3
Last updated
Was this helpful?