QPS = req/sec = 请求数/秒
Q:如何根据日志查看一个服务的qps
A:
一般access.log是记录请求的日志,tail -f XXX.access.log ,可发现格式如下:
前面是请求的时间,后面有接请求的方法名字,那么我们要统计getCart的qps
cat osp-cart.api.vip.com_access.log | grep getCart | awk '{print $2}' | awk -F '.' '{print $1}' | uniq -c
先grep getCart获取getCart服务
然后两次awk取出时分秒
然后uniq -c 去重统计
可以看到大致的QPS
【峰值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
源文档 <http://blog.chinaunix.net/uid-7530389-id-2050114.html>
虽千万人,吾往矣!