Docker部署及使用压测神器sysbench的方法

前言

sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试

1. sysbench简介

1.1 sysbench能做什么

新业务上线的时候通常需要对数据库性能进行压力测试,以确认是否满足需要,今天简单介绍下sysbench的用法:

1.sysbench 是一个开源跨平台的多线程性能测试工具。

2.可以用来进行 CPU、内存、磁盘IO、线程、数据库的性能测试。

3.目前支持的数据库是 MySQL、Oracle 和 PostgreSQL。

sysbench 支持以下几种测试模式:

1、CPU 运算性能

2、磁盘 IO 性能

3、调度程序性能

4、内存分配及传输速度

5、POSIX 线程性能–互斥基准测试

6、数据库性能(OLTP 基准测试)

%Docker部署及使用压测神器sysbench的方法-猿站网-插图

1.2 压力测试的指标

QPS(Queries Per Second)就是每秒的查询数,对数据库而言就是数据库每秒执行的 SQL 数

(含 insert、select、update、delete 等)。

TPS(Transactions Per Second)就是每秒的事务数。

TPS 对于数据库而言就是数据库每秒执行的事务数,以 commit 成功次数为准。

并发数:系统同时处理的request数(事务数)

响应时间:一般取平均响应时间

1.3 常见的压测工具

Sysbench: MySQL、 PostgreSQL、Oracle

HammerDB: MySQL、 Oracle 、 PostgreSQL、 SQL Server、DB2、TimesTen、MariaDB、Postgres Plus Advanced Server、Greenplum、Redis、Amazon Aurora、

Redshift

Swingbench:Oracle

2.容器安装

2.1 服务器申请

?
1
2
3
4
5
6
docker rm -f sysbench
docker run -d –name jemsysbench -h jemsysbench \
-p 3222:22 -p 33389:3389 \
–privileged=true centos:7.6.1810 \
/usr/sbin/init
[root@jeames ~]# docker exec -it jemsysbench bash

%Docker部署及使用压测神器sysbench的方法-1猿站网-插图

2.2 yum安装

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
## DNS域名配置
具体区别如下:114.114.114.114是国内移动、电信和联通通用的DNS,解析成功率相对来说更高,
国内用户使用的比较多,速度相对快、稳定,是国内用户上网常用的DNS。
8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用
[root@jemsysbench /]# more /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 8.8.8.8
[root@jemsysbench /]# yum install sudo
[root@jemsysbench /]# curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
[root@jemsysbench /]# sudo yum -y install sysbench
[root@jemsysbench /]# sysbench –version
sysbench 1.0.20
[root@jemsysbench /]# sysbench –help

%Docker部署及使用压测神器sysbench的方法-2猿站网-插图

%Docker部署及使用压测神器sysbench的方法-3猿站网-插图

3.测试 CPU

对 CPU 的性能测试通常有:1.质数计算;2 圆周率计算;

sysbench 使用的就是通过质数相加的测试。对 CPU 测试直接运行 run 即可。

–20 个线程执行 1 万次请求,每个请求执行质数相加到 20000

sysbench –threads=20 –events=10000 cpu –cpu-max-prime=20000 run

%Docker部署及使用压测神器sysbench的方法-4猿站网-插图

4.测试磁盘 IO

IO 的测试主要用于测试 IO 的负载性能。主要测试选项为–file-test-mode。还有可以关注的参数包括–file-block-size、–file-io-mode、–file-fsync-

freq 、–file-rw-ratio 。对比两台服务器的 io 性能,需要跑相同的线程。

其中–file-test-mode 的选项如下:

seqwr:顺序写入

seqrewr:顺序重写

seqrd:顺序读取

rndrd:随机读取

rndwr:随机写入

rndrw:混合随机读写
?
1
2
3
4
## 生成压测文件
sysbench fileio –threads=16 –file-total-size=10G –file-test-mode=rndrw prepare
注意:每次会生成128个文件
10737418240 bytes written in 199.82 seconds (51.25 MiB/sec).

压测性能

sysbench fileio –threads=16 –file-total-size=10G –file-test-mode=rndrw run

%Docker部署及使用压测神器sysbench的方法-5猿站网-插图

清理生成的文件

sysbench fileio –threads=16 –file-total-size=10G –file-test-mode=rndrw cleanup

sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

4.测试内存

?
1
2
测试 8K 顺序分配:
sysbench –threads=12 –events=10000 memory –memory-block-size=8K –memory-total-size=100G –memory-access-mode=seq run

%Docker部署及使用压测神器sysbench的方法-6猿站网-插图

测试 8K 随机分配:

sysbench –threads=12 –events=10000 memory –memory-block-size=8K –memory-total-size=100G –memory-access-mode=rnd run

%Docker部署及使用压测神器sysbench的方法-7猿站网-插图

到此这篇关于Docker部署及使用压测神器sysbench的文章就介绍到这了,更多相关Docker部署压测神器sysbench内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_41645135/article/details/126114088

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:bitlocker是什么?bitlocker加密有什么用?

2023-3-3 18:28:41

建站知识

Docker上部署mysql8主从复制的实现

2023-3-3 18:33:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索