如何计算QPS、PV和需要部署机器数量?
基本概念
网站访问量的常用衡量标准:独立访客(UV) 和 综合浏览量(PV),一般以日为单位来计算。
独立访客(UV):指一定时间范围内相同访客多次访问网站,只计算为1个独立访客。
综合浏览量(PV):指一定时间范围内页面浏览量或点击量,用户每次刷新即被计算一次。
并发用户数:即指同时执行操作的用户(线程数)。
TPS :每秒处理的事务数(如果是数据库,就相当于写入、修改)
IOPS:即每秒磁盘进行的I/O操作次数。
QPS : 一台服务器(单进程)每秒能够相应的查询次数
QPS(每秒请求次数) = 总请求数 / ( 进程总数 * 请求时间 )
单台服务器每天PV计算
公式1:每天总PV = QPS * 3600 * 6 (6小时范围内)
公式2:每天总PV = QPS * 3600 * 8 (8小时范围内)
服务器数量计算
服务器数量 = ceil( 每天总PV / 单台服务器每天总PV )
ceil函数:返回大于或者等于指定表达式的最小整数
峰值QPS和机器计算公式
每台服务器每秒处理请求的数量 = ((80% * 总PV量)/(24小时60分60秒 * 40%)) / 服务器数量
原理: 每天80%的访问集中在40%的时间里,这40%时间叫做峰值时间。(很适合互联网的应用,白天请求多,晚上请求少)。
公式: 峰值时间每秒请求数(QPS) = ( 总PV数 * 80% ) / ( 每天秒数 * 40% )
机器: 需要的机器数量 = 峰值时间每秒QPS / 单台机器的QPS
我们经过压力测试得到结论:
((80%500万)/(24小时60分60秒40%))/1 = 115.7个请求/秒
((80%100万)/(24小时60分60秒40%))/1 = 23.1个请求/秒
- 如果你的服务器一秒能处理115.7个请求,就可以承受500万PV/每天。
- 如果你的服务器一秒能处理23.1个请求,就可以承受100万PV/每天。
以上请求数量是均匀的分布在白天的9.6个小时中,但实际情况并不会这么均匀的分布,会有高峰有低谷。
为了应对高峰时段,应该留一些余地,最少也要x2倍,x3倍也不为过。(留足余量,应对突然事件)
- 如果你的服务器一秒能处理231.4--347.1个请求/秒,就可以应对平均500万PV/每天。
- 如果你的服务器一秒能处理46.2--69.3个请求,就可以应对平均100万PV/每天。
(说明:这里每秒N个请求,就是QPS。因为我关心的是应用程序处理业务的能力。)
问:每天300w PV 的在单台机器上,这台机器需要多少QPS?
答:( 3000000 * 0.8 ) / (86400 * 0.4 ) = 69 (QPS)
问:如果一台机器的QPS是58,需要几台机器来支持?
答:69 / 58 = 2
PV计算带宽
计算带宽大小需要关注两个指标:峰值流量和页面的平均大小。
举个例子:
假设网站的平均日PV:10w 的访问量,页面平均大小0.4 M 。
网站带宽 = 10w / (24 60 * 60) 0.4M * 8 =3.7 Mbps
具体的计算公式: 网站带宽= PV / 统计时间(换算到S)* 平均页面大小(单位KB)* 8
在实际的网站运行过程中,我们的网站必须要在峰值流量时保持正常的访问,为了应对高峰时段,应该留一些余地,假设,峰值流量是平均流量的5倍,按照这个计算,实际需要的带宽大约在 3.7 Mbps * 5=18.5 Mbps
PS:
1、字节的单位是Byte,而带宽的单位是bit,1Byte=8bit,所以转换为带宽的时候,要乘以 8。
2、在实际运行中,由于缓存、CDN、白天夜里访问量不同等原因,这个是绝对情况下的算法。
如何计算QPS、PV和需要部署机器数量?的更多相关文章
- QPS、PV和需要部署机器数量计算公式
QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准. TPS是 Transactions ...
- QPS、PV和需要部署机器数量计算公式(转)
术语说明: QPS = req/sec = 请求数/秒 [QPS计算PV和机器的方式] QPS统计方式 [一般使用 http_load 进行统计] QPS = 总请求数 / ( 进程总数 * 请求 ...
- [Z]QPS、PV和需要部署机器数量计算公式
QPS = req/sec = 请求数/秒 [QPS计算PV和机器的方式] QPS统计方式 [一般使用 http_load 进行统计]QPS = 总请求数 / ( 进程总数 * 请求时间 )QPS ...
- QPS/QPS/PV/UV/服务器数量/并发数/吐吞量/响应时间计算公式
QPS:每秒查询率(Query Per Second) ,每秒的响应请求数,也即是最大吞吐能力.QPS = req/sec = 请求数/秒QPS统计方式 [一般使用 http_load 进行统计]QP ...
- 峰值QPS/QPS/PV/UV/服务器数量/并发数/吐吞量/响应时间计算公式
QPS:每秒查询率(Query Per Second) ,每秒的响应请求数,也即是最大吞吐能力.QPS = req/sec = 请求数/秒QPS统计方式 [一般使用 http_load 进行统计]QP ...
- kafka项目经验之如何进行Kafka压力测试、如何计算Kafka分区数、如何确定Kaftka集群机器数量
@ 目录 Kafka压测 Kafka Producer(生产)压力测试 Kafka Consumer(消费)压力测试 计算Kafka分区数 Kafka机器数量计算 Kafka压测 用Kafka官方自带 ...
- 什么是QPS,PV
术语说明: QPS = req/sec = 请求数/秒 [QPS计算PV和机器的方式] QPS统计方式 [一般使用 http_load 进行统计] QPS = 总请求数 / ( 进程总数 * 请求时间 ...
- 并发数/QPS/PV/ 服务器响应时间公示
QPS:每秒查询率(Query Per Second) ,每秒的响应请求数,也即是最大吞吐能力.QPS = req/sec = 请求数/秒QPS统计方式 [一般使用 http_load 进行统计]QP ...
- cobbler部署机器的默认密码
修改cobbler的默认密码: 用 openssl 生成一串密码后加入到 cobbler 的配置文件(/etc/cobbler/settings)里,替换 default_password_crypt ...
- 透过源码看看Redis中如何计算QPS
通常我们采集Redis的性能数据时,或者想要知道Redis当前的性能如何时,需要知道这个实例的QPS数据,那么这个QPS数据是如何计算的呢?我们都有哪些办法或者这个QPS ? QPS顾名思义就是每秒执 ...
随机推荐
- 如何使用Mac远程控制Windows电脑?
如何使用Mac远程控制Windows电脑?在你开始之前,设置您要远程处理的 Windows 计算机. 先安装 Microsoft Remote Desktop. 打开 Microsoft Remote ...
- C数据结构:哈夫曼树算法实现与应用
学习哈夫曼树(编码) 带权二叉树 认识WPL 最优二叉树 构造哈夫曼树的过程 哈夫曼树的应用 建立哈夫曼树 代码如下: 结构体代码部分 建立操作代码 找到最小结点(※难点) 附上建立哈夫曼树源代码 带 ...
- C 语言编程 — 高级数据类型 — 共用体
目录 文章目录 目录 前文列表 共用体 定义共用体 访问共用体成员 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> <C 语言编程 - 基本 ...
- 移动通信网络中的 FDD/TDD 无线帧
目录 文章目录 目录 前文列表 无线帧 FDD 与 TDD 的区别 FDD 无线帧 TDD 无线帧 前文列表 <移动通信网络中的资源类型> 无线帧 LTE 支持两种类型的无线帧:FDD(F ...
- MYSQL造数据占用临时表空间
在MySQL中,临时表空间通常用于存储如ORDER BY.GROUP BY.DISTINCT.UNION.JOIN等操作中产生的临时数据.当这些操作的数据集太大而无法在内存中完成时,MySQL会使用磁 ...
- .NET Core应用程序每次启动后使用string.GetHashCode()方法获取到的哈希值(hash)不相同
前言 如标题所述,在ASP.NET Core应用程序中,使用string.GetHashCode()方法去获取字符串的哈希值,但每次重启这个ASP.NET Core应用程序之后,同样的字符串的哈希值( ...
- Asp-Net-Core学习笔记:身份认证入门 _
前言 过年前我又来更新了~ 我就说了最近不是在偷懒吧,其实这段时间还是有积累一些东西的,不过还没去整理-- 所以只能发以前没写完的一些笔记出来 就当做是温习一下啦 PS:之前说的红包封面我还没搞,得抓 ...
- 通过计算巢轻松部署 Walrus
概述 Walrus 是一个用于管理和部署应用程序的平台,它提供了一个集中化的管理界面,使用户能够轻松地管理应用的生命周期,包括创建.配置.部署.监控和维护应用.Walrus 还提供了一些高级功能,如应 ...
- 使用Docker安装Odoo 17(非Docker Compose)
使用Docker安装Odoo 17(非Docker Compose) 前言 最近在学习Odoo,先是windows 安装企业版,多年不用windows的服务器操作系统,一看windows的ECS那么贵 ...
- fabric compose文件解读(Orderer篇)
orderer在fabric中的作用是排序,另外orderer有点像是管理节点一样,通道之类的都是在orderer的基础之上建立的,有点像比特币,以太坊上面的全节点一样,不过责任比全节点少很多,甚至都 ...