引言:
-
面试官:你们系统QPS是多少?
-
我:几千(4-5千)
-
面试官:惊讶同时问到,接口响应时间多少?
-
我:100ms
-
面试官:并发数多少?
-
我:几千吧(很虚,瞎说个数吧)
-
那你们PV多少
-
几十万
-
面试官:你有啥问题想问我的么?
-
我:完犊子,这么快。。。
思考:如何估算系统的QPS,有底气的回答面试官?最起码不是太离谱
1. QPS(queries per second): 系统每秒的请求数。
2. PV (page view):系统每日访问量的总和。(1个用户刷新100次页面,PV的值是100)
3. UV(user view) : 系统每日访问用户的总和。(1个用户刷新100次页面,UV的值是1)
4. 并发数: 同一时刻同时请求的数量和
5. TPS(transaction per second): 每秒事务数
估算方式
1. 假设系统pv是10万
2. 根据28原则,80%的请求发生在20%的时间内 (100000 * 80%) / (86400*20%) = 4.6
3. 所以每秒的请求数约等于5。QPS :约等于 5 。
话外音:终于知道面试官为啥惊讶了,4千的QPS,那PV是多少?亿级流量
4. 假设RT(接口响应时间)是100ms
5. 并发数 = QPS * RT(单位是:秒) = 5 * 0.1 = 0.5
话外音:网络有其他公式,但是有点绕:并发数 = QPS / (1秒/RT) ,想我这种数学不好的要仔细理解下
回过头再看引言:
-
面试官:你们系统QPS是多少?
-
我:几千(4-5千)
话外音:牛X吧,我们的系统很强的。。。
-
面试官:惊讶同时问到,接口响应时间多少?
-
我:100ms
-
面试官:并发数多少?
-
我:500 (5000 * 0.1)
-
那你们PV多少
-
我:1亿8百万 5000 * (86400 * 20%)/ 80%
-
面试官:哇,你们网站真牛,还招人不?
-
我:...