暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Sysbench for dm 的二番学习

济南小老虎 2024-09-02
35

背景

之前整理的 github上面的sysbendm 的工具存在问题
总是无法测试 insertupdate 仅能够测试 select
所以比较痛苦, 感觉比较鸡肋
还是找到之前cnblog 里面的baidu 盘地址进行学习和整理
具体地址为:
https://www.cnblogs.com/fangzpa/p/14874263.html


第一步下载

链接:https://pan.baidu.com/s/1zf5lhfNfbslezxWUvz1Hdw
提取码:1432

因为比较仓促,所以没有仔细看后面的一些描述.
自己哪来直接使用了. 但是与原文不一样.


编译与安装

下载好后进行一次编译
虽然原作者编译了
但是是2020年并且是基于 libmysqlclient.so.18 的mysql版本,
实在太为难我了. 我没办法, 重新编译一下.

解压缩zip包 然后执行:
./configure --with-dm --with-dm-includes=/opt/dmdbms/include --without-mysql

然后 make 开始编译

进入 src 目录好 会看到一个具有可执行权限的 sysbench文件就可以了


简单测试

可以将lua里面的 lua脚本和internal 目录复制到 sysbench的同级目录
这样好些测试脚本
我这边测试脚本主要有两个:
./sysbench --tables=5 --table-size=200000 \
--db-driver=dm --dm-db=10.xx.xx.xx:5236 \
--dm-user=SYSDBA --dm-password=SYSDBA \
--threads=16 --time=30 --report-interval=10 \
oltp_read_write prepare

./sysbench --tables=5 --table-size=200000 \
--db-driver=dm --dm-db=10.xx.xx.xx:5236 \
--dm-user=SYSDBA --dm-password=SYSDBA \
--threads=16 --time=30 --report-interval=10 \
oltp_test run

需要注意 我这边主要是使用了 :oltp_read_write 和 oltp_test
理论上这两个比较符合 业务的场景
但是因为创建的sbtest 表太简单了 只有四个列
所以他的数据会比较好看.

需要说明 read_write 很消耗磁盘, 磁盘不好测试结果会很差
但是oltp_test 对CPU的依赖会更高一些.


测试思路

可以作为一个测试基线
如果让进行性能测试.
发现数据库的基线很差, 需要让数据库厂商进行优化
无法达到极限进行的性能测试是没有任何意义的.


文章转载自济南小老虎,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论