PV、TPS、QPS是怎么计算?

本文详细解释了网站流量的几个关键指标,包括PV(页面浏览量)、UV(独立访客数)、IP(独立IP数)、会话次数(Session)、QPS(每秒查询率)和TPS(每秒事务处理数)。阐述了这些指标的定义、计算方法及其在评估网站性能和资源需求方面的作用。

(1)PV、UV、IP
PV(Page View)访问量, 即页面浏览量或点击量,衡量网站用户访问的网页数量;在一定统计周期内用户每打开或刷新一个页面就记录1次,多次打开或刷新同一页面则浏览量累计。
UV(Unique Visitor)独立访客,统计1天内访问某站点的用户数(以cookie为依据);访问网站的一台电脑客户端为一个访客。可以理解成访问某网站的电脑的数量。网站判断来访电脑的身份是通过来访电脑的cookies实现的。如果更换了IP后但不清除cookies,再访问相同网站,该网站的统计中UV数是不变的。如果用户不保存cookies访问、清除了cookies或者更换设备访问,计数会加1。00:00-24:00内相同的客户端多次访问只计为1个访客。
IP(Internet Protocol)独立IP数,是指1天内多少个独立的IP浏览了页面,即统计不同的IP浏览用户数量。同一IP不管访问了几个页面,独立IP数均为1;不同的IP浏览页面,计数会加1。 IP是基于用户广域网IP地址来区分不同的访问者的,所以,多个用户(多个局域网IP)在同一个路由器(同一个广域网IP)内上网,可能被记录为一个独立IP访问者。如果用户不断更换IP,则有可能被多次统计。
会话次数(网站访问量)Session。会话是指在指定的时间段内在您的网站上发生的一系列互动,所以会话次数是一段时间内用户向您的网站发起的会话(Session)总数量。一次会话会浏览一个或多个页面

(2)PV、TPS、QPS是怎么计算
术语说明:
QPS = req/sec = 请求数/秒

【QPS计算PV和机器的方式】

QPS统计方式 [一般使用 http_load 进行统计]
QPS = 总请求数 / ( 进程总数 * 请求时间 )
QPS: 单个进程每秒请求服务器的成功次数

单台服务器每天PV计算
公式1:每天总PV = QPS * 3600 * 6
公式2:每天总PV = QPS * 3600 * 8

服务器计算
服务器数量 = ceil( 每天总PV / 单台服务器每天总PV )

【峰值QPS和机器计算公式】

原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器

问:每天300w PV 的在单台机器上,这台机器需要多少QPS?
答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)

问:如果一台机器的QPS是58,需要几台机器来支持?
答:139 / 58 = 3

一、TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)

TPS是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

一般的,评价系统性能均以每秒钟完成的技术交易的数量来衡量。系统整体处理能力取决于处理能力最低模块的TPS值。

二、QPS:每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。

对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。

### QPS计算方法、原理与公式 QPS(Queries Per Second)是衡量服务器处理查询请求能力的重要指标,广泛应用于评估系统性能。其计算原理基于“80/20”法则,即每天 80% 的访问量集中在 20% 的时间内,这段时间被称为**峰值时间**。利用这一原理,可以通过总 PV 数估算出峰值时间内的每秒请求数(QPS)[^2]。 #### QPS计算公式 QPS计算公式如下: ```text QPS = (总PV数 × 80%) / (每天秒数 × 20%) ``` 其中: - **总PV数**:页面访问量,表示系统在一天内的总访问次数。 - **80%**:代表一天中 80% 的访问集中在 20% 的时间内。 - **每天秒数**:即 86400 秒。 - **20%**:表示一天中峰值时间的占比。 例如,若系统每天有 300 万 PV计算其对应的 QPS: ```text QPS = (3000000 × 0.8) / (86400 × 0.2) = 139 (QPS) ``` 这表示在峰值时间内,系统每秒需要处理 139 个请求[^2]。 #### 机器数量估算 在已知单台服务器的 QPS 能力时,可以估算出需要多少台服务器来支撑当前的访问负载。公式如下: ```text 所需机器数 = 峰值时间每秒 QPS / 单台机器的 QPS ``` 例如,若单台机器的 QPS 为 58,则: ```text 所需机器数 = 139 / 58 ≈ 3 ``` 因此,需要 3 台服务器来支撑该负载[^2]。 #### QPSTPS 的区别 QPSTPS(Transactions Per Second)都用于衡量系统的吞吐能力,但应用场景有所不同。QPS 表示每秒处理的查询数,常用于衡量 DNS、数据库等服务的性能。而 TPS 表示每秒完成的事务数,用于衡量业务逻辑处理能力。一个页面请求可能触发多个查询请求,因此 QPS 通常高于 TPS[^4]。 #### 日志中 QPS 的统计方法 在实际生产环境中,QPS 可以通过日志文件进行统计。例如,使用 Linux 命令行工具分析日志文件中的请求时间戳,并计算每秒的请求数量: ```bash cat osp-cart.api.vip.com_access.log | grep getCart | awk '{print $2}' | awk -F '.' '{print $1}' | uniq -c ``` 上述命令提取了日志中 `getCart` 请求的时间戳字段,并统计每秒的请求次数,从而估算出实际运行环境中的 QPS 情况[^5]。 --- ### 相关问题 1. 如何通过日志文件计算系统的平均 QPS? 2. QPSTPS 在性能测试中的应用场景有何区别? 3. 如何使用 JMeter 模拟特定 QPS 的并发请求? 4. 在分布式系统中,如何根据 QPS 分配服务器资源? 5. 如何通过 QPS 判断系统的性能瓶颈?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值