低延迟如何不=高吞吐量?

How can low latency not = high throughput?

上图显示了读取和更新操作的延迟,而该列显示了吞吐量(operations/second)我不确定 MyISAM 如何以如此低的延迟执行操作,但仍然与 InnoDB 持平吞吐量? MongoDB 在吞吐量方面也占主导地位,但延迟高于 MyISAM。

这些结果有何意义?

好吧,假设你有一辆一级方程式赛车和一辆公共汽车。一级方程式可以快速搭载一名乘客,而慢速巴士可以以较慢的速度搭载 40 名乘客。总线肯定会实现更高的吞吐量,但具有更高的延迟。但请注意,如果一次载客,巴士将失去吞吐量的优势。

毫无疑问,您提供的令人困惑的图表来自单一 基准测试。基准测试的优点之一是您可以想出什么就说什么。

现在要在 "conclusions" 中打几个洞:

MyISAM,如果存在来自多个线程的争用,可能会有糟糕甚至可怕的延迟和吞吐量。这是由于 table 级锁定。 (听起来基准测试只有一个线程在运行。)

更新延迟因引擎而异——取决于是单线程还是多线程。以及他们是否在争夺相同的 table。或者对于相同的行。

基准测试的 'throughput' 方面可能旨在远离复杂查询并转向更简单的 NoSQL 查询。