我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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 基准测试)

在这里插入图片描述

✨ 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 服务器申请

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

在这里插入图片描述

✨ 2.2 yum安装

## 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

在这里插入图片描述

在这里插入图片描述

⛳️ 3.测试 CPU

对 CPU 的性能测试通常有:1.质数计算;2 圆周率计算;
sysbench 使用的就是通过质数相加的测试。对 CPU 测试直接运行 run 即可。
–20 个线程执行 1 万次请求,每个请求执行质数相加到 20000
sysbench --threads=20 --events=10000 cpu --cpu-max-prime=20000 run

在这里插入图片描述

⛳️ 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:混合随机读写

## 生成压测文件
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

在这里插入图片描述

清理生成的文件
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.测试内存

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

在这里插入图片描述

测试 8K 随机分配:
sysbench --threads=12 --events=10000 memory --memory-block-size=8K --memory-total-size=100G --memory-access-mode=rnd run

在这里插入图片描述

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

sysbench是一个开源跨平台的多线程性能测试工具,这篇文章主要介绍了Docker部署及使用压测神器sysbench的相关知识,需要的朋友可以参考下
2022-11-13

MySQL压测神器HammerDB的部署及使用详解

目录前言⛳️ 1. HammerDB简介⛳️ 2. 容器部署✨ 2.1 镜像下载✨ 2.2 创建容器✨ 2.3 linux 下安装✨ 2.4 相关校验⛳️3 . HammerDB压测mysql前言HammerDB 是一个开源的数据库负载测
2022-08-09

使用Docker部署MySQL数据库的两种方法

目录引言第一部分:通过 docker CLI 命令部署 mysql1. 安装 Docker2. 拉取 MySQL 镜像3. 启动 MySQL 容器4. 验证 MySQL 运行状态5. 进入 MySQL 容器第二部分:通过 Docker Co
使用Docker部署MySQL数据库的两种方法
2024-10-17

Docker自发现注册服务基础etcd的部署及使用方法

这期内容当中小编将会给大家带来有关Docker自发现注册服务基础etcd的部署及使用方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. 背景自发现服务基础需要一个高可用键值存储系统, 很容易联想到re
2023-06-19

使用docker 部署mysql突然连接不上的问题及解决方法

WARNING: IPv4 forwarding is disabled. Networking will not work.大概意思就是说,网络不能用,也就意味着不能连网络,所以远程才连不上mysql。找到原因之后,就简单了,可以对症
2022-06-28

使用Docker容器部署MongoDB并支持远程访问及遇到的坑

目录前言docker & MongoDBDockerMongoDB使用Docker部署MongoDB容器中换源更改配置开放端口前言由于使用宝塔面板来配置MongoDB的BUG太多,实在受不了,今天心血来潮想要使用Docker容器来进行部署
2022-07-13

Tomcat安装使用及部署Web项目的3种方法汇总

web应用部署相当于把web应用交给服务器管理,供外界访问,下面这篇文章主要给大家介绍了关于Tomcat安装使用及部署Web项目的3种方法,需要的朋友可以参考下
2022-11-13

手机Python编程神器AidLearning的工作原理以及使用方法

手机Python编程神器AidLearning的工作原理以及使用方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。如果你是个对编程比较感兴趣或者正走在这条康庄大道上的技术宅
2023-06-15

部署应用到阿里云服务器中的重要性及实现方法

本文将介绍部署应用到阿里云服务器中的重要性以及如何实现这一过程。通过部署应用到阿里云服务器,可以提升应用的性能、可靠性和安全性,并且能够更好地满足用户的需求。1.部署应用到阿里云服务器的意义部署应用到阿里云服务器是一种将应用程序和相关资源迁移到云计算环境中的方式。这种方式有很多好处,例如:高可用性:阿里云服务器提
部署应用到阿里云服务器中的重要性及实现方法
2024-01-21

编程热搜

目录