【问题标题】:Cannot Find oltp test on sysbench在 sysbench 上找不到 oltp 测试
【发布时间】:2017-08-09 07:21:05
【问题描述】:

我正在尝试使用 sysbench 在 mySQL 数据库上运行基准测试。但是,它说它找不到内置测试oltp

详情: 我已经在本地机器上安装了 mySQL 和 sysbench。 另外,我在 mySQL 中创建了数据库dbtest。然后我执行了以下指令。

sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=dbtest --mysql-user=root --mysql-password=<password> prepare

但随后出现此错误消息。

WARNING: the --test option is deprecated. You can pass a script 
name or path on the command line without any options.
sysbench 1.0.8 (using bundled LuaJIT 2.1.0-beta2)

FATAL: Cannot find benchmark 'oltp': no such built-in test, file or module

sysbench 与其他测试如

sysbench --test=cpu --cpu-max-prime=20000 run

我认为问题在于 sysbench 找不到名为 oltp 的预定义测试,但我不知道如何解决。

感谢您的阅读。

【问题讨论】:

    标签: mysql database benchmarking oltp sysbench


    【解决方案1】:

    从输出看来,您已经安装了最新的 sysbench 1.0。因此,您可以尝试如下准备命令 -

    sysbench --db-driver=mysql --mysql-user=root --mysql-password=<pwd> \
      --mysql-socket=<mysql.sock path> --mysql-db=foo --range_size=100 \
      --table_size=10000 --tables=2 --threads=1 --events=0 --time=60 \
      --rand-type=uniform /usr/share/sysbench/oltp_read_only.lua prepare
    

    在运行prepare命令之前,打开mysql控制台并创建一个数据库foo——create database foo。如果你有 mysql 安装在标准位置,则不需要 mysql.sock 的路径。

    使用上述命令在数据库 foo 中创建了 8 个表,您可以使用以下命令在 mysql 控制台上检查它们 - 使用数据库 foo、显示表等。

    然后你可以如下运行基准测试-

    sysbench --db-driver=mysql --mysql-user=root --mysql-password=<pwd> \
      --mysql-socket=<mysql.sock path> --mysql-db=foo --range_size=100 \
      --table_size=10000 --tables=2 --threads=1 --events=0 --time=60 \
      --rand-type=uniform /usr/share/sysbench/oltp_read_only.lua run
    

    注意:sysbench的share文件夹里面有很多workload,除了oltp_read_only,你可以玩一玩。 github 链接上提供了足够的文档 - https://github.com/akopytov/sysbench

    【讨论】:

    • 很高兴您提供 lua 脚本的位置!我不知道为什么很难找到 lua 脚本的位置。
    【解决方案2】:

    dpkg 工具可以方便地显示已安装软件包的文件在系统上的存储位置。我在查找 sysbench 1.0.14 的测试脚本时使用了它。有关更多选项,请参见手册页

    # dpkg --listfiles sysbench
    ...
    /usr/share/sysbench/bulk_insert.lua
    /usr/share/sysbench/select_random_ranges.lua
    /usr/share/sysbench/oltp_update_non_index.lua
    /usr/share/sysbench/oltp_delete.lua
    /usr/share/sysbench/oltp_update_index.lua
    /usr/share/sysbench/oltp_read_write.lua
    /usr/share/sysbench/oltp_point_select.lua
    ...
    

    【讨论】:

      猜你喜欢
      • 2020-12-02
      • 2019-06-24
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多