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

 更新时间:2022年08月02日 14:20:54   作者:IT邦德  
sysbench 是一个开源跨平台的多线程性能测试工具,这篇文章主要介绍了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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker资源限制Cgroup的深入理解

    Docker资源限制Cgroup的深入理解

    _cgroups,是一个非常强大的linux内核工具,他可以限制被namespace隔离起来的资源,本文主要介绍了Docker资源限制Cgroup的深入理解。具有一定的参考价值,感兴趣的可以了解一下
    2022-07-07
  • Docker之实现挂载的三种方式汇总

    Docker之实现挂载的三种方式汇总

    这篇文章主要介绍了Docker之实现挂载的三种方式汇总,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 详解如何使用Docker部署一个web项目并打包成镜像文件

    详解如何使用Docker部署一个web项目并打包成镜像文件

    这篇文章主要介绍了详解如何使用Docker部署一个web项目并打包成镜像文件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 利用docker搭建php7和nginx运行环境全过程(官方镜像)

    利用docker搭建php7和nginx运行环境全过程(官方镜像)

    docker提供了在服务端分布式的部署应用,这样的好处是方便维护和升级。下面这篇文章主要给大家介绍了利用docker搭建php7和nginx运行环境的相关资料,搭建过程中运用的是官方镜像,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • Docker-compose部署ELK的示例代码

    Docker-compose部署ELK的示例代码

    这篇文章主要介绍了Docker-compose部署ELK的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 手把手教你docker部署(使用docker-compose)教程

    手把手教你docker部署(使用docker-compose)教程

    使用 Docker Compose 可以轻松、高效的管理容器,下面这篇文章主要给大家介绍了关于手把手教你docker部署(使用docker-compose)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • docker如何在一个容器内部署多个服务

    docker如何在一个容器内部署多个服务

    这篇文章主要介绍了docker如何在一个容器内部署多个服务,思路是这样的首先拿到你的httpd,以及你的springBoot,合并他们的Dockerfile,然后打包,然后启动的时候启动多个端口(httpd的端口和你服务的端口),需要的朋友可以参考下
    2024-01-01
  • CentOS服务器部署Docker+Jenkins持续集成环境的方法

    CentOS服务器部署Docker+Jenkins持续集成环境的方法

    本文详细介绍在CentOS服务器上部署Docker和Jenkins持续集成环境的步骤,涵盖了准备工作、安装Docker、配置Docker镜像加速、安装Jenkins、配置Jenkins以及集成Docker与Jenkins,通过这些步骤,读者可以实现代码的持续集成与快速部署,提高软件开发效率,感兴趣的朋友一起看看吧
    2025-02-02
  • Docker镜像加速的详细教程

    Docker镜像加速的详细教程

    Docker 镜像非常轻量级,它们是基于分层的文件系统构建的,因此许多 Docker 镜像可以共享相同的基础镜像,这也使得它们在存储和传输时非常高效,这篇文章主要介绍了Docker镜像加速的详细教程,需要的朋友可以参考下
    2024-02-02
  • Docker中搭建配置Git环境的过程

    Docker中搭建配置Git环境的过程

    工作中遇到了需要在Docker环境中操作GitLab仓库的场景,需要事先在Docker中搭好Git环境,但是很多朋友不是很清楚Docker配置Git环境的过程,今天通过本文给大家详细介绍下,需要的朋友参考下吧
    2021-08-08

最新评论