面试官之问:知道你的接口“QPS”是多少吗? 怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试官之问:知道你的接口“QPS”是多少吗? 怎么办相关的知识,希望对你有一定的参考价值。

参考技术A

QPS是什么

我们先回忆一下,QPS的概念如下所示:

QPS(Query Per Second):每秒请求数,就是说服务器在一秒的时间内处理了多少个请求。

那我们怎么估出每秒钟能处理多少请求呢?

OK,用日志来估计!那日志怎么记录呢

此时,你访问一次/home/index地址,会有下面这样日志

那么,你就可以根据日志中,该记录的出现次数,统计index接口的QPS。

假设,你这会日志已经拿到手了,名字为xxx.log。

假设日志内容如下

这个时候,你执行一串命令长下面这样的,进行统计就行!

出来等结果就是

然后你就知道,原来在20:40:44 分。。这个接口的QPS最高,达到了惊人的2QPS!

现在,来讲一下命令什么意思!

那么,如果是其他日志格式,无外乎 ”cut语句“的处理不同而已,道理类似!此法可以估算出单机的某接口的 “QPS” 是多少!

估算

我们现在估计出了单机的QPS。接下来,估算集群的QPS。

这就要根据负载均衡的策略来估计!

比如,你部署了32台机器,负载均衡的策略恰巧为轮询,那集群的QPS就是单机的QPS乘32就好了。

所以,根据具体的策略,来估计整个集群的QPS多大!

多嘴一句,一般2000QPS够了!

以上是关于面试官之问:知道你的接口“QPS”是多少吗? 怎么办的主要内容,如果未能解决你的问题,请参考以下文章

吊打面试官之消息队列基础

对线面试官之MySQL索引篇

吊打面试官之ConcurrentHashMap和Hashtable

面试官:高并发场景下,你们是怎么保证数据的一致性的?

对线面试官之MySQL索引篇

面试官:高并发场景下,你们是怎么保证数据的一致性的?