qps

单机的 qps 普遍是多少?网上基本都没搜到什么资料说明

发布于 2021-06-05 22:06:23

我自己用 jmeter 压测公司的测试服务器时,很简单的接口(访问数据库+redis 缓存+打 log ),200 的 qps 就会很不稳定,有 5%的请求的延迟就会到 200ms 以上,当然,用来测试的服务器的性能好像很差(具体配置我也没看),而且我用 jmeter 的方法可能也有问题(直接在开发机的 window 下用 gui 测,还不是同一个内网,不过直接用 linux 测好像也没什么区别)

但现在我看有些文章写单机能做到 4 万 qps ( https://zhuanlan.zhihu.com/p/377795008 ),感觉跟我经验差别好大,而且测试单机 qps 应该也不需要分布式测试,毕竟服务器都只有一台,测试怎么会需要多台物理机?

假设接口就是简单的访问一次数据库(假设数据库速度稳定在 2ms )+一次 redis+打 log,95%请求的响应时间在 100ms 以下,普遍情况下单机会有多少 qps ?具体机器配置就需要各位说明一下,当然,也可以提供以下其他条件下的参考值。

我面试时一直写的是单机 qps200,感觉问题真是大。。。。

查看更多

关注者
0
被浏览
736
5 个回答
Rocketer
Rocketer 2021-06-05
这家伙很懒,什么也没写!

逻辑不同,有什么可比的呢?

我司的核心服务只有 30QPS,三台服务器负载均衡支撑百万日访问量很稳

Vegetable
Vegetable 2021-06-05
这家伙很懒,什么也没写!

我刚写代码第一年用 django 写的服务,请求第三方服务+数据库操作,都不只 200qps 。

你这个情况太模糊,「打 log 」是打印 log 吗?打印到控制台是有可能影响性能的,关掉 log 试一下呢

iyaozhen
iyaozhen 2021-06-05
这家伙很懒,什么也没写!

没有可比性

我们公司单机是将近 100 核,100 多 GB 内存,万兆网卡的物理机。你要多少 qps 都行

所以压测是个很复杂的事情,需要分析下哪里慢,被压服务是什么并发模型,机器资源利用率多少

jorneyr
jorneyr 2021-06-05
这家伙很懒,什么也没写!

2003 年 15 寸的 MBP,8G 内存,数据从先从 Redis 访问,没有再从 MySQL 获取 (共有 10 万条记录),SpringBoot 应用,QPS 在 16000 左右,测试方式:

  1. MBP 连上有线和无限网络 (每个网卡的流量都有限制,开启双网卡进行测试能够更充分的打更多流量)
  2. 服务跑在 MBP 上
  3. MBP 上使用一个 JMeter,使用无线网络 IP
  4. PC 上使用一个 JMeter,使用有线网络 IP
CRVV
CRVV 2021-06-05
这家伙很懒,什么也没写!

搜索 web framework benchmark,然后我随便找了一个 https://web-frameworks-benchmark.netlify.app/

qps 从几百到十几万的都有,当然这是 hello world 的测试,没有数据库的。
假设数据库和 redis 和写日志都可以无限扩展并且每个查询只要 2 毫秒,假设每件事情的开销都和处理 hello world 请求一样,那么 qps 大概要除以 4 吧,也就是 qps 从几百到几万。

然后因为 qps 少了,event loop 或者 scheduler 的开销会减少,所以性能也许会再比上面说的数字高一些。

上面说的假设都不见得成立,比如日志很可能要写到硬盘上,而硬盘的性能也天差地别。
很多 ssd 的 iops 都不到 4 万,如果要把日志逐条写到这种硬盘上,qps 就不可能超过 4 万。

另外,树莓派 1 是单机,5 楼说的 100 核也是单机。

所以这个问题根本没有答案。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览