Docker部署及使用壓測(cè)神器sysbench的方法
前言
sysbench是一款開源的多線程性能測(cè)試工具,可以執(zhí)行CPU/內(nèi)存/線程/IO/數(shù)據(jù)庫(kù)等方面的性能測(cè)試
?? 1. sysbench簡(jiǎn)介
? 1.1 sysbench能做什么
新業(yè)務(wù)上線的時(shí)候通常需要對(duì)數(shù)據(jù)庫(kù)性能進(jìn)行壓力測(cè)試,以確認(rèn)是否滿足需要,今天簡(jiǎn)單介紹下sysbench的用法:
1.sysbench 是一個(gè)開源跨平臺(tái)的多線程性能測(cè)試工具。
2.可以用來(lái)進(jìn)行 CPU、內(nèi)存、磁盤IO、線程、數(shù)據(jù)庫(kù)的性能測(cè)試。
3.目前支持的數(shù)據(jù)庫(kù)是 MySQL、Oracle 和 PostgreSQL。
sysbench 支持以下幾種測(cè)試模式:
1、CPU 運(yùn)算性能
2、磁盤 IO 性能
3、調(diào)度程序性能
4、內(nèi)存分配及傳輸速度
5、POSIX 線程性能–互斥基準(zhǔn)測(cè)試
6、數(shù)據(jù)庫(kù)性能(OLTP 基準(zhǔn)測(cè)試)
? 1.2 壓力測(cè)試的指標(biāo)
QPS(Queries Per Second)就是每秒的查詢數(shù),對(duì)數(shù)據(jù)庫(kù)而言就是數(shù)據(jù)庫(kù)每秒執(zhí)行的 SQL 數(shù)
(含 insert、select、update、delete 等)。
TPS(Transactions Per Second)就是每秒的事務(wù)數(shù)。
TPS 對(duì)于數(shù)據(jù)庫(kù)而言就是數(shù)據(jù)庫(kù)每秒執(zhí)行的事務(wù)數(shù),以 commit 成功次數(shù)為準(zhǔn)。
并發(fā)數(shù):系統(tǒng)同時(shí)處理的request數(shù)(事務(wù)數(shù))
響應(yīng)時(shí)間:一般取平均響應(yīng)時(shí)間
? 1.3 常見的壓測(cè)工具
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 服務(wù)器申請(qǐng)
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是國(guó)內(nèi)移動(dòng)、電信和聯(lián)通通用的DNS,解析成功率相對(duì)來(lái)說(shuō)更高, 國(guó)內(nèi)用戶使用的比較多,速度相對(duì)快、穩(wěn)定,是國(guó)內(nèi)用戶上網(wǎng)常用的DNS。 8.8.8.8是GOOGLE公司提供的DNS,該地址是全球通用的,相對(duì)來(lái)說(shuō),更適合國(guó)外以及訪問(wèn)國(guó)外網(wǎng)站的用戶使用 [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.測(cè)試 CPU
對(duì) CPU 的性能測(cè)試通常有:1.質(zhì)數(shù)計(jì)算;2 圓周率計(jì)算;
sysbench 使用的就是通過(guò)質(zhì)數(shù)相加的測(cè)試。對(duì) CPU 測(cè)試直接運(yùn)行 run 即可。
–20 個(gè)線程執(zhí)行 1 萬(wàn)次請(qǐng)求,每個(gè)請(qǐng)求執(zhí)行質(zhì)數(shù)相加到 20000
sysbench --threads=20 --events=10000 cpu --cpu-max-prime=20000 run
?? 4.測(cè)試磁盤 IO
IO 的測(cè)試主要用于測(cè)試 IO 的負(fù)載性能。主要測(cè)試選項(xiàng)為–file-test-mode。還有可以關(guān)注的參數(shù)包括–file-block-size、–file-io-mode、–file-fsync-
freq 、–file-rw-ratio 。對(duì)比兩臺(tái)服務(wù)器的 io 性能,需要跑相同的線程。
其中–file-test-mode 的選項(xiàng)如下:
seqwr:順序?qū)懭?br />seqrewr:順序重寫
seqrd:順序讀取
rndrd:隨機(jī)讀取
rndwr:隨機(jī)寫入
rndrw:混合隨機(jī)讀寫
## 生成壓測(cè)文件 sysbench fileio --threads=16 --file-total-size=10G --file-test-mode=rndrw prepare 注意:每次會(huì)生成128個(gè)文件 10737418240 bytes written in 199.82 seconds (51.25 MiB/sec).
壓測(cè)性能
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.測(cè)試內(nèi)存
測(cè)試 8K 順序分配: sysbench --threads=12 --events=10000 memory --memory-block-size=8K --memory-total-size=100G --memory-access-mode=seq run
測(cè)試 8K 隨機(jī)分配:
sysbench --threads=12 --events=10000 memory --memory-block-size=8K --memory-total-size=100G --memory-access-mode=rnd run
到此這篇關(guān)于Docker部署及使用壓測(cè)神器sysbench的文章就介紹到這了,更多相關(guān)Docker部署壓測(cè)神器sysbench內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker 教程之鏡像創(chuàng)建及修改詳細(xì)介紹
這篇文章主要介紹了Docker 教程之鏡像創(chuàng)建及修改詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-12-12docker容器自動(dòng)退出重啟報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了docker容器自動(dòng)退出重啟報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07docker搭建本地私有倉(cāng)庫(kù)的實(shí)現(xiàn)
有時(shí)候使用Docker Hub這樣的公共倉(cāng)庫(kù)可能不方便,這種情況下用戶可以使用registry創(chuàng)建一個(gè)本地倉(cāng)庫(kù)供私人使用,本文主要介紹了docker搭建本地私有倉(cāng)庫(kù)的實(shí)現(xiàn),感興趣的可以了解一下2023-12-12Linux系統(tǒng)docker部署.net?core3.1的詳細(xì)步驟
這篇文章主要介紹了Linux系統(tǒng)docker部署.net?core3.1,文章演示基本的基于docker部署.netcore服務(wù),linux系統(tǒng)騰訊云ubuntu,.net?core版本3.1,需要的朋友可以參考下2022-09-09docker 安裝 php-fpm 服務(wù) / 擴(kuò)展 / 配置的示例教程詳解
這篇文章主要介紹了docker 安裝 php-fpm 服務(wù) / 擴(kuò)展 / 配置,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05使用docker?部署mysql突然連接不上的問(wèn)題及解決方法
這篇文章主要介紹了使用docker?部署mysql,突然連接不上,要解決這個(gè)問(wèn)題需要找到根本原因,對(duì)癥治療就好,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06