98. 一台服务器能支持多少QPS

打印 上一主题 下一主题

主题 632|帖子 632|积分 1896

一台服务器能够支持的QPS(Queries Per Second)数量是一个很常见的标题。这是由于,当我们在设计和摆设一个应用步调的时候,我们须要确保它能够处理足够的流量,以满足用户的需求。
在本文中,我们将探讨如何计算一台服务器能够支持的QPS。
计算一台服务器的QPS
首先,我们须要相识一下一台服务器的处理本事是如何衡量的。通常,我们会将服务器的处理本事表现为其每秒钟能够处理的事务数量。
每个事务都可以包含多个操作,例如读取数据、计算数据、写入数据等等。因此,我们可以将QPS定义为每秒钟能够实行的操作数量。
为了计算一台服务器能够支持的QPS,我们须要思量以下几个个因素:

  • CPU: CPU是服务器最紧张的资源之一。它负责实行全部的操作,并计算并相应客户端哀求。因此,我们须要确保服务用具有足够的CPU处理本事来处理每个哀求。
  • 内存: 内存是服务器另一个紧张的资源。它存储了应用步调须要的数据,并被用于计算。我们须要确保服务器有足够的内存来支持每个哀求。
  • 网络带宽: 如果我们的应用步调须要使用网络来与客户端交互,那么我们须要确保服务器拥有足够的网络带宽来支持高访问量。
  • 存储: 如果我们须要大量的数据存储,我们须要确保服务器有足够的存储空间来存储这些数据。
之后,我们可以通过简单的计算来计算一台服务器能够支持的QPS。例如,如果我们有一个4核、8GB内存的服务器,它每每秒钟可以实行2000个操作,那么它的QPS将是8000 (2000 *4)。
其中,每秒钟可以实行的操作,应该通过压测评估。可参考:97. 常用的HTTP服务压测工具
我们也可以反推一下上面的例子,每秒2000次操作,共四核,那么每核承接了500QPS,也就是每次操作只耗时2ms,这个估计好坏常简单的业务逻辑了,究竟2ms就处理完啦。
举个工作中现实的例子
有一个服务的QPS约20万(注:是服务下的全部接口QPS总和,而非某个特定接口),我们摆设了约2000台服务实例(pod实现,可动态调整),每台实例同一规格为4核8G(同一后,方便评估扩缩容以及实例的替换迁移)。通过监控发现,每台实例承接了约100QPS,CPU和内存的使用率都在30%左右,属于一个健康的状态(达到60%时,我们配置了报警)。
同样,我们也可以反推一下,同样是4核8G,为什么第一个例子能承接8000QPS,而工作中这个现实例子只能承接100QPS呢?。
100QPS / 4核 = 25QPS,即每核承接25QPS,1s / 25QPS = 40ms,这与我们监控表现的是差不多的。因此知道了,工作中这个例子是业务逻辑复杂许多,每次哀求的平均耗时为40ms,宏大于第一个例子中的2ms。
现实上,从具体接口来看,有些接口业务逻辑简单,大概几ms就返回了,有些接口逻辑复杂,须要上百ms来处理,不过,团体上平均下来是40ms,而我们要估计的是一台实例能承接的QPS,即该服务实例上全部接口的流量,那么就是以这个40ms为准。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宝塔山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表