mysql – 无法在sysbench上找到oltp测试

我正在尝试使用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

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

使用上面的命令在数据库foo中创建了8个表,你可以使用以下命令在mysql控制台上检查它们 – 使用数据库foo,show tables等.

然后你可以按如下方式运行基准测试 –

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

注意此处/usr/share/sysbench/oltp_read_only.lua 要根据本机环境做相应的更改
注意:sysbench的share文件夹中有很多工作负载,除了oltp_read_only之外,你可以玩它们. github链接上提供了足够的文档 – https://github.com/akopytov/sysbench

MySQL 文章被收录于专栏

MysqlDBA升级之路

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务