idea网站开发教程,wordpress插件转php,成都市建设厅官方网站,永州网页定制1.QPS
QPS全称为Queries Per Second#xff0c;即每秒钟处理的请求数量。对于一个高并发应用来说#xff0c;QPS是非常重要的性能指标#xff0c;它反映了应用处理请求的能力。在实际应用中#xff0c;QPS的大小取决于应用的负载和应用本身的性能。 QPS req/sec 请求数/…1.QPS
QPS全称为Queries Per Second即每秒钟处理的请求数量。对于一个高并发应用来说QPS是非常重要的性能指标它反映了应用处理请求的能力。在实际应用中QPS的大小取决于应用的负载和应用本身的性能。 QPS req/sec 请求数/秒 举个例子假设有一个电商网站这个网站每天需要处理100万个订单请求那么每秒钟需要处理的订单数量就是1000000 / 86400 ≈ 11.57。因此这个网站的QPS应该至少达到11.57。
计算
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
通过nginx日志计算
tail -f /var/log/nginx/access.log | awk {print $4} | cut -c 14-18 | uniq -ctail -f命令用于实时输出日志内容awk命令用于提取日志中的时间戳信息cut命令用于截取时间戳中的秒数信息uniq -c命令用于统计每个秒数内的请求数。. 若统计结果为
10 22:12
15 22:13
12 22:14则QPS为(101512)/312.33。这表示平均每秒钟有12.33个请求。
通过日志确定某个接口的QPS
日志中接口记录如下
2023-07-12T11:16:230800|127.0.0.1|-|-|GET|http|127.0.0.1|/getVideoInfo?id1首先nginx的日志是按照时间顺序的。因此计算QPS只需要先统计条数再计算时间差二者相除就可以得到。
使用wc命令
1.获取条数
wc -l access.log | awk {print $1}
2.统计第一条和最后一条的时间并格式化成时间戳
// 第一条日志时间戳
date -d $(head -n 1 access.log | awk -F | /getVideoInfo/ {print $1}) %s// 最后一条日志时间戳
date -d $(tail -n 1 access.log | awk -F | /getVideoInfo/ {print $1}) %s
3.计算qps
count$(wc -l access.log | awk {print $1}); start$(date -d $(head -n 1 access.log | awk -F | /getVideoInfo/ {print $1}) %s); end$(date -d $(tail -n 1 access.log | awk -F | /getVideoInfo/ {print $1}) %s); t$(($end-$start)); qps$(echo scale2; $count/$t | bc); printf %.2f\n $qps
使用awk命令
1.统计条数
awk -F | $8/getVideoInfo?id1 {count} END {print count} access.log
2.第一条和最后一条时间计算
-v start$(date -d $(head -n 1 access.log | grep getVideoInfo | cut -d | -f 1) %s) -v end$(date -d $(tail -n 1 access.log | grep getVideoInfo | cut -d | -f 1) %s)
3.计算qps
awk -F | -v start$(date -d $(head -n 1 access.log | grep getVideoInfo | cut -d | -f 1) %s) -v end$(date -d $(tail -n 1 access.log | grep getVideoInfo | cut -d | -f 1) %s) $8/getVideoInfo?id1 {count} END {qpscount/(end-start); print qps} access.log详见 https://cloud.tencent.com/developer/article/2357770
2.TPS
TPS全称为Transactions Per Second即每秒钟处理的事务数量。事务是指一个操作或者一组操作的集合例如提交一个订单、更新一个用户信息等等。与QPS类似TPS也是衡量高并发应用性能的重要指标之一。
以支付宝为例每秒钟需要处理大量的交易请求因此TPS是支付宝必须要关注的性能指标。如果支付宝的TPS不足那么就会导致用户无法及时完成交易给用户带来不便。如果每个订单包含多个操作例如下单、付款、发货等那么需要考虑每秒钟能够处理的事务数量。假设每个订单需要处理10个事务那么每秒钟需要处理的事务数量就是11.57 * 10 ≈ 115.7。因此这个网站的TPS应该至少达到115.7。
3.PV
PV 即 page view页面浏览量。用户每一次对网站中的每个页面访问均被记录 1 次。用户对同一页面的多次刷新访问量累计。可以统计服务一天的访问日志得到。