Docker部署及使用壓測神器sysbench的方法
前言
sysbench是一款開源的多線程性能測試工具,可以執(zhí)行CPU/內存/線程/IO/數據庫等方面的性能測試
?? 1. sysbench簡介
? 1.1 sysbench能做什么
新業(yè)務上線的時候通常需要對數據庫性能進行壓力測試,以確認是否滿足需要,今天簡單介紹下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)就是每秒的查詢數,對數據庫而言就是數據庫每秒執(zhí)行的 SQL 數
(含 insert、select、update、delete 等)。
TPS(Transactions Per Second)就是每秒的事務數。
TPS 對于數據庫而言就是數據庫每秒執(zhí)行的事務數,以 commit 成功次數為準。
并發(fā)數:系統(tǒng)同時處理的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域名配置 具體區(qū)別如下:114.114.114.114是國內移動、電信和聯(lián)通通用的DNS,解析成功率相對來說更高, 國內用戶使用的比較多,速度相對快、穩(wěn)定,是國內用戶上網常用的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 個線程執(zhí)行 1 萬次請求,每個請求執(zhí)行質數相加到 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內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
利用docker搭建php7和nginx運行環(huán)境全過程(官方鏡像)
docker提供了在服務端分布式的部署應用,這樣的好處是方便維護和升級。下面這篇文章主要給大家介紹了利用docker搭建php7和nginx運行環(huán)境的相關資料,搭建過程中運用的是官方鏡像,需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05
手把手教你docker部署(使用docker-compose)教程
使用 Docker Compose 可以輕松、高效的管理容器,下面這篇文章主要給大家介紹了關于手把手教你docker部署(使用docker-compose)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-01-01
CentOS服務器部署Docker+Jenkins持續(xù)集成環(huán)境的方法
本文詳細介紹在CentOS服務器上部署Docker和Jenkins持續(xù)集成環(huán)境的步驟,涵蓋了準備工作、安裝Docker、配置Docker鏡像加速、安裝Jenkins、配置Jenkins以及集成Docker與Jenkins,通過這些步驟,讀者可以實現代碼的持續(xù)集成與快速部署,提高軟件開發(fā)效率,感興趣的朋友一起看看吧2025-02-02

