如何预估/回答接口本身能抗住多少 QPS

与哪些因素有关

  1. 后端服务器集群节点数量,数量越多,QPS越高
  2. 后端服务器节点的运行配置:运行内存、Cpu核数等等,硬件资源决定单节点处理能力
  3. 接口本身做的事情

a. 做的事情多耗时长(预估QPS会相对应低)

b. 做的事情少耗时短(预估QPS会相对应高)

4.系统架构

a. 完善的流量负载均衡架构,实现流量的有效分发和负载均衡,避免成为QPS瓶颈

b. 缓存技术,减轻数据库的压力,避免数据库成为QPS瓶颈

c. 集群模式的数据库,避免数据库成为QPS瓶颈

d. 静态资源通过CDN加速,避免成为QPS瓶颈

如何预估?

首先需要知道一个请求处理完毕的时间(这个请求里可能做很多事情,但是这个我们暂时不管),一个请求处理完毕的时间我们是可以知道的。(我们去调用这个接口多次得到平均值即可)

理论计算公式

  1. QPS(单节点) = 线程数(如 Tomcat 线程池)/ 平均请求处理时间(秒)

a. 例如:若线程池大小为 200,单个请求处理时间为 50ms(0.05秒)

ⅰ. SprigBoot 默认使用Tomcat,而Tomcat线程池的最大线程数就是200,所以在默认配置下,SprigBoot 应用可以并发处理 200 请求

则 QPS(单节点) = 200 / 0.05= 4000

2.QPS(集群)= QPS(单节点)* 节点数

例如集群有4个节点,则 QPS(集群)= 4000 * 4 = 16000

单个请求处理的时间是受到

“系统架构”、“接口本身做的事情”“后端服务器节点运行配置”“后端服务器节点数量”

等等因素共同影响的 但这实际上是一个近似已知值(我们去调

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java后端开发总结 文章被收录于专栏

Java后端开发总结

全部评论
mark
点赞 回复 分享
发布于 05-26 12:08 湖北
mark
点赞 回复 分享
发布于 05-19 12:08 浙江
mark
点赞 回复 分享
发布于 05-18 07:53 江苏
mark
点赞 回复 分享
发布于 05-15 17:01 江苏

相关推荐

05-16 10:17
河南大学 Java
全程50分钟,项目和实习没问,都是八股手撕:接雨水1、hashmap怎么实现的;扩容因子设置过大和过小有什么问题,为什么是0.75;为什么要选红黑树;可以用跳表来替换红黑树吗(这个点答的不是很好)2、concurrent hashmap线程安全原理,1.7和1.8的区别3、synchronized和 ReentrantLock的异同点;为什么有了synchronized之后,后面还要有ReentrantLock4、synchronized和 ReentrantLock的底层如何实现的5、垃圾回收机制介绍一下;G1还有新生代和老年代的概念吗;G1和CMS比有哪些优势6、浏览器打开一个url涉及的过程,结合计算机网络的角度详细说一说7、HTTP请求头常见的字段有哪些,保持长连接的字段是什么;加了keepAlive连接就不会中断了吗,怎么维护这个连接呢,何时中断(这一点回答的一般)8、HTTP响应码 500、501、502……  介绍一下,以及收到这些返回码如何排查问题9、HTTPS如何建立连接的,TLS的整个过程 ;HTTPS为什么要有不同版本的加密算法,这些不同版本的加密算法为了去解决什么问题(这点回答的一般)10、TCP的可靠性保证;拥塞控制详细介绍一下;11、TCP层和应用层用到的数据包是不一样的,可能应用层数据包有的时候比传输层包大,有的时候比更小。粘包和拆包的问题,如何解决12、网络忙时和闲时路由的选择是不一样的,路由选择协议。(说了几个路由选择协议的名字,具体原理有点忘了)
查看13道真题和解析
点赞 评论 收藏
分享
评论
4
13
分享

创作者周榜

更多
牛客网
牛客企业服务