每次看到有些帖子说 XX中间件的性能是 可以达到qps几万 几十万
这个是怎么算的?
个人理解 你用的机器不同 QPS性能肯定不同啊! 你用个几万的机器和用个几千万的机器 QPS那指定不同啊
所以想了解了解 在给指标的时候 都是怎么给的?
每次看到有些帖子说 XX中间件的性能是 可以达到qps几万 几十万
这个是怎么算的?
个人理解 你用的机器不同 QPS性能肯定不同啊! 你用个几万的机器和用个几千万的机器 QPS那指定不同啊
所以想了解了解 在给指标的时候 都是怎么给的?
1 回答1.3k 阅读✓ 已解决
2 回答1.1k 阅读
你的问题可以有两种理解,因为不知道你实际要问啥,所以都写上吧。
第一种可以理解为评测的是在一个系统中充当角色相同或功能类似的东西,比如 Kafka 和 RabbitMQ 的比较,这是横向对比。
这种对比当然是得相同的硬件环境下啊,严苛一点儿的软件环境也应该相同(比如同样的语言、同样的框架在同样的操作系统上用同样的方式调用)。
控制变量法,这是初中甚至小学五六年级就学过的知识。
如果你看哪个软件的性能评测是在不同硬件环境下给出的,看见浏览器左/右上角那个红叉叉了吗?点一下就可以了。
而这,才是评测的主要目的。
第二种可以理解为同一种东西,在不同配置的设备上的指标大概率会有很大不同,这种情况下的指标你想问有什么意义。
答案是没什么意义,顶多是可以了解:配置提升和指标提升的曲线关系,升配到哪个程度时性能不会再有明显提升,这时候你就得想别的办法了。例如 Oracle,你硬件配置提升到一定程度后,带来的性能提升和成本增长就是不成正比的,这也是当初为啥国内互联网要提出“去 IOE”。