测量吞吐量

主要观点:探讨了用开环和闭环基准测试来测量数据库吞吐量的方法。开环基准测试易导致队列和延迟无界增长,通过 gallop 搜索和二进制搜索找到导致延迟无界增长的 QPS 值;闭环基准测试在测量吞吐量时有效,随着工作线程增加负载减轻,数据库能在不堆积大量请求的情况下达到最大吞吐量。

关键信息:

  • 数据库模型包含Database结构体及相关函数,如NewDatabaseRequestRunprocessRequest等。
  • 开环基准测试函数openLoop通过追踪延迟来找到导致延迟无界增长的 QPS 值。
  • 闭环基准测试函数closedLoop通过设置工作线程数来测量观察到的 QPS。
  • 实验结果显示开环基准测试最大观察到的 QPS 约为 480,闭环基准测试约为 470,都接近理论上的 500(实际略小于 500)。

重要细节:

  • 服务器配置每个请求 10ms,允许最多 5 个并发请求。
  • 实验中通过绘图展示数据,绿色点为成功运行,红色点为不成功。
  • 作者认为在理想系统中两种策略应得到相同值,但未证明,此方法学自 Denis Rystsov。两种基准测试都有用,要知道何时使用及何时会产生误导结果。
阅读 12
0 条评论