安装地址
开始安装
#解压tar包
tar -zxvf sysbench-1.0.20.tar.gz
#安装依赖包
yum -y install autoconf automake libtool
#进入解压目录
cd sysbench-1.0.20/
./autogen.sh
#路径/usr/local/mysql是我的MySQL的安装路径,请填写自己的安装路径
#--prefix 是sysbench的安装路径
./configure --prefix=/usr/sysbench --with-mysql-includes=/usr/local/mysql/include \
--with-mysql-libs=/usr/local/mysql/lib
make
make install
#验证安装,如果出现sysbench的版本信息说明安装成功了
/usr/sysbench/bin/sysbench --version
如果验证安装,出现错误:
sysbench: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file:
No such file or directory
问题原因:sysbench无法找到mysql的库文件
解决方法建立软连接
ln -s /usr/local/mysql/lib/libmysqlclient.so.21 /usr/local/lib/libmysqlclient.so.21
接着在/etc/ld.so.cnf中加入/usr/loca/lib这一行
vi/etc/ld.so.conf
include ld.so.conf.d/*.conf #这行原本就有
/usr/local/lib
执行ldconfig -v更新下配置就可以了
/sbin/ldconfig –v
#再次执行sysbench
/usr/sysbench/bin/sysbench --version
使用sysbench
1.CUP性能测试
-
基本的CPU性能测试命令格式为
sysbench cpu run
。例如,你可以使用以下命令来测试CPU性能:sysbench cpu --threads=4 run
。这里的–threads=4表示使用4个线程来进行测试
2.内存性能测试
- 内存测试命令例如
sysbench memory run
。你可以通过添加选项来定制测试,如sysbench memory --memory - block - size=1K --memory - total - size=10G run
- 其中
--memory - block - size
指定了内存块大小为1KB,--memory - total - size
指定了测试的总内存大小为10GB。测试完成后,会显示内存读写操作的速度、内存带宽等性能数据。
- 其中
3.磁盘I/O性能测试
-
对于磁盘I/O测试,首先需要创建一个测试文件。例如:
sysbench fileio --file - total - size=5G --file - test - mode=rndrw --file - num=16 prepare
。这里--file - total - size
表示测试文件的总大小为5GB,--file - test - mode=rndrw
表示测试模式是随机读写,--file - num=16
表示创建16个测试文件。
-
进行测试
sysbench fileio --file - test - mode=rndrw --file - num=16 --time=60 run。--time=60
表示测试时间为60秒。测试结束后,通过sysbench fileio --file - num=16 cleanup
来清理测试文件。测试结果会显示磁盘的读写速度、I/O操作延迟等信息。
4.数据库性能测试(以MySQL为例)
-
首先要确保你的系统已经安装并配置好MySQL数据库
-
准备测试数据
sysbench oltp_read_write --db-driver=mysql --mysql-host=127.0.0.1 --mysql-user=root --mysql-password=your_password --mysql-db=test --tables=10 --table-size=100000 prepare
。这里--db - driver=mysql
指定数据库驱动为MySQL,--mysql - host
是数据库主机地址,--mysql - user和--mysql - password
是数据库用户和密码,--mysql - database
是测试使用的数据库名,--tables=10
表示创建10个测试表,--table - size=100000
表示每个表有100000行数据。
以上就是sysbench的基本使用了,晚上再为大家带来一篇专门压测MySQL的博文,谢谢大家支持!