Docker部署及使用压测神器sysbench

您所在的位置:网站首页 sysbench使用 Docker部署及使用压测神器sysbench

Docker部署及使用压测神器sysbench

2024-07-13 08:49| 来源: 网络整理| 查看: 265

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验 一位上进心十足的【大数据领域博主】!😜😜😜 中国DBA联盟(ACDU)成员,目前从事DBA及程序编程 擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。 ✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞 ❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录前言⛳️ 1. sysbench简介✨ 1.1 sysbench能做什么✨ 1.2 压力测试的指标✨ 1.3 常见的压测工具⛳️ 2.容器安装✨ 2.1 服务器申请✨ 2.2 yum安装⛳️ 3.测试 CPU⛳️ 4.测试磁盘 IO⛳️ 4.测试内存 前言 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

在这里插入图片描述 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3