【问题标题】:MemSQL speed test VS dbbench speed testMemSQL 速度测试 VS dbbench 速度测试
【发布时间】:2016-09-04 22:06:50
【问题描述】:

我正在运行 MemSQL 速度测试,显示 每秒 638K 插入(在 Web UI 中)。

同样,我正在运行 dbbench 基准测试工具来模拟相同的负载,但是我得到的吞吐量只有 每秒 20K 插入。 (dbbench 和 MemSQL 在同一台机器上运行)

我很困惑,我错过了什么吗?

这是我运行 dbbench 的方式:

dbbench --host=127.0.0.1 --port=3306 dbbench.ini*

dbbench.ini:

[setup]
query=CREATE DATABASE IF NOT EXISTS speed_test
query=CREATE TABLE IF NOT EXISTS speed_test.tbl (id INT AUTO_INCREMENT PRIMARY KEY, val INT)

[teardown]
query=DROP DATABASE speed_test

[inserts]
query=insert into speed_test.tbl (val) values(5)
concurrency=10

【问题讨论】:

    标签: singlestore


    【解决方案1】:

    运行单值插入将比多插入慢得多,并且并发 10 太低而无法使集群饱和。您在此处的 dbbench 配置中的工作负载瓶颈将出现在所有这些往返行程中,这些往返行程在数据库中所做的工作很少。

    试试:

    • 将更多值批处理到每个插入语句中
    • 增加并发

    【讨论】:

    • 我在 1 次插入中批量处理了 100 行值,吞吐量已增加到 100K/秒,但是与内存表中的 MySQL 相比,单行插入似乎快了大约 100 倍。这是为什么呢?
    • 一个原因可能是因为 MemSQL 中额外的网络延迟,因为它是一个分布式数据库,并且插入需要从客户端到聚合器再到叶子。
    猜你喜欢
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2019-01-21
    • 1970-01-01
    相关资源
    最近更新 更多