1.安装:
cd /usr/local/src
wget https://codeload.github.com/akopytov/sysbench/tar.gz/1.0.17
tar -xzvf /usr/local/src/sysbench-1.0.17.tar.gz -C /usr/local/
cd /usr/local/sysbench-1.0.17
##RHEL/CentOS
yum -y install make automake libtool pkgconfig libaio-devel
# For MySQL support, replace with mysql-devel on RHEL/CentOS 5
yum -y install mariadb-devel openssl-devel
# For PostgreSQL support
yum -y install postgresql-devel
##Build and Install
./autogen.sh
# Add --with-pgsql to build with PostgreSQL support
./configure
make -j
make install
sysbench --version
准备数据:
sysbench /usr/local/share/sysbench/tests/include/oltp_legacy/oltp.lua \
--mysql-host=127.0.0.1 \
--mysql-port=3306 \
--mysql-user=root \
--mysql-password=root \
--mysql-db=test_db \
--oltp-tables-count=10 \
--oltp-table-size=1000 \
--oltp-dist-type=uniform \
--oltp-read-only=off \
--oltp-test-mode=complex \
--rand-init=on \
--db-driver=mysql \
--report-interval=10 \
--threads=100 \
--time=120 \
prepare
执行测试:
sysbench /usr/local/share/sysbench/tests/include/oltp_legacy/oltp.lua \
--mysql-host=127.0.0.1 \
--mysql-port=3306 \
--mysql-user=root \
--mysql-password=root \
--mysql-db=test_db \
--oltp-tables-count=10 \
--oltp-table-size=1000 \
--oltp-dist-type=uniform \
--oltp-read-only=off \
--oltp-test-mode=complex \
--rand-init=on \
--db-driver=mysql \
--report-interval=10 \
--threads=100 \
--time=120 \
run >> /home/liuxk/mysysbench.log
清理数据:
sysbench /usr/local/share/sysbench/tests/include/oltp_legacy/oltp.lua \
--mysql-host=127.0.0.1 \
--mysql-port=3306 \
--mysql-user=root \
--mysql-password=root \
--mysql-db=test_db \
--oltp-tables-count=10 \
cleanup
常用参数
Sysbench 中常用的参数如下:
--oltp-tables-count=1:表数量
--oltp-table-size=10000000:每个表产生的记录行数
--oltp-read-only=off:是否生成只读SQL,默认 off,如果设置为 on,则 oltp 模型不会生成 update, delete, insert 的 SQL 语句
--oltp-skip-trx=[on|off]:省略 BEGIN / COMMIT 语句。默认是 off
--rand-init=on:是否随机初始化数据,如果不随机化那么初始好的数据每行内容除了主键不同外其他完全相同
--num-threads=12: 并发线程数,可以理解为模拟的客户端并发连接数
--report-interval=10:表示每 10s 输出一次性能数据
--max-requests=0:压力测试产生请求的总数,如果以下面的 max-time 来记,这个值设为 0 即可
--max-time=120:测试的持续时间
--oltp_auto_inc=off:ID是否为自增列
--oltp_secondary=on:将ID设置为非主键防止主键冲突
--oltp_range_size=5:连续取值 5 个,必定走到 5 个分片
--mysql_table_options='dbpartition by hash(id) tbpartition by hash(id) tbpartitions 2':DRDS 支持拆分表,在建表的时候需要指定拆分方式
参考链接:
https://www.cnblogs.com/EikiXu/p/10579832.html
https://www.alibabacloud.com/help/zh/doc-detail/65637.htm