栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MYSQL——Sysbench压测实战

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MYSQL——Sysbench压测实战

摘要

sysbench是跨平台的基准测试工具,支持多线程,支持多种数据库;主要包括以下几种测试:

cpu性能磁盘io性能调度程序性能内存分配及传输速度POSIX线程性能数据库性能(OLTP基准测试)

本文主要介绍对数据库性能的测试。

一、Sysbench的安装
# 首先下载 Sysbench源码。运行 

wget https://github.com/akopytov/sysbench/archive/1.0.20.tar.gz

# 然后将文件重命名并解压缩。

mv 1.0.20.tar.gz sysbench.tar.gz
tar -zxvf sysbench.tar.gz

# 然后安装依赖

sudo apt install -y  automake
sudo apt install -y  libtool
sudo apt install -y  pkg-config
sudo apt install -y libmysqlclient-dev

# 然后安装编译必须的文件,并编译

cd cd sysbench-1.0.20/
./autogen.sh
./configure
sudo make -j
sudo make install

# 运行sysbench --version查看版本。

sysbench --version

二、Sysbench对mysql压测
# 对数据库进行压力测试。其中test_db数据库需要自己创建

sysbench --db-driver=mysql --time=300 --threads=4 --report-interval=1 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=root --mysql-db=test_db --tables=20 --table_size=1000000 oltp_read_write --db-ps-mode=disable prepare

# 测试并导出结果到指定文件

sysbench --db-driver=mysql --time=300 --threads=4 --report-interval=1 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=root --mysql-db=test_db --tables=20 --table_size=1000000 oltp_read_write --db-ps-mode=disable prepare --report-interval=10 run >> /home/test/mysysbench.log

# 执行完测试后,清理数据,否则后面的测试会受到影响。

sysbench --mysql-host=192.168.10.10 --mysql-port=3306 --mysql-user=root --mysql-password=root cleanup

2.1 sysbench参数说明

下面说明实际使用中,常用的参数和命令。

command:command是sysbench要执行的命令,包括prepare、run和cleanup,顾名思义,prepare是为测试提前准备数据,run是执行正式的测试,cleanup是在测试完成后对数据库进行清理。

testname:testname指定了要进行的测试,在老版本的sysbench中,可以通过--test参数指定测试的脚本;而在新版本中,--test参数已经声明为废弃,可以不使用--test,而是直接指定脚本。

例如,如下两种方法效果是一样的:

sysbench --test=./tests/include/oltp_legacy/oltp.lua
sysbench ./tests/include/oltp_legacy/oltp.lua
MySQL连接信息参数

--mysql-host:MySQL服务器主机名,默认localhost;如果在本机上使用localhost报错,提示无法连接MySQL服务器,改成本机的IP地址应该就可以了。
--mysql-port:MySQL服务器端口,默认3306
--mysql-user:用户名
--mysql-password:密码

MySQL执行参数

--oltp-test-mode:执行模式,包括simple、nontrx和complex,默认是complex。simple模式下只测试简单的查询;nontrx不仅测试查询,还测试插入更新等,但是不使用事务;complex模式下测试最全面,会测试增删改查,而且会使用事务。可以根据自己的需要选择测试模式。
--oltp-tables-count:测试的表数量,根据实际情况选择
--oltp-table-size:测试的表的大小,根据实际情况选择
--threads:客户端的并发连接数
--time:测试执行的时间,单位是秒,该值不要太短,可以选择120
--report-interval:生成报告的时间间隔,单位是秒,如10

参考博文
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708678.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号