无法在 sysbench 上找到 oltp 测试
Cannot Find oltp test on sysbench
我正在尝试使用 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
的预定义测试,但我不知道如何解决。
感谢阅读。
从输出来看,您似乎已经安装了最新的 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
在运行执行准备命令之前,打开mysql控制台并创建数据库foo - 创建数据库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 文件夹中有很多工作负载,除了oltp_read_only,您可以绕过它们。 github link - https://github.com/akopytov/sysbench
提供了足够的文档
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
...
我正在尝试使用 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
的预定义测试,但我不知道如何解决。
感谢阅读。
从输出来看,您似乎已经安装了最新的 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
在运行执行准备命令之前,打开mysql控制台并创建数据库foo - 创建数据库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 文件夹中有很多工作负载,除了oltp_read_only,您可以绕过它们。 github link - https://github.com/akopytov/sysbench
提供了足够的文档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
...