CentOS伺服器壓力測試及MySQL壓力測試

2021-09-28 16:28:16 字數 2005 閱讀 4573

sysbench是乙個跨平台的基準測試工具。基準測試是對資料庫的效能指標進行定量的、可復現的、可對比的測試。基準測試可以理解為針對系統的一種壓力測試。但基準測試不關心業務邏輯,更加簡單、直接、易於測試,資料可以由工具生成,不要求真實;而壓力測試一般考慮業務邏輯(如購物車業務),要求真實的資料。

系統環境:centos 7.5

所需軟體環境:mariadb-devel、mariadb-client、mariadb-server

所需軟體:sysbench

1、初始化安裝環境

curl -s  | sudo bash

2、安裝sysbench

yum install sysbench -y

3、測試處理器效能

sysbench cpu --cpu-max-prime=100000 --threads=4

4、測試硬碟io效能

–file-num 生成測試檔案的數量,預設是128

–file-block-size 測試期間檔案塊的大小

–file-total-size 每個檔案的大小,預設是2gb

–file-test-mode 檔案測試模式,包含seqwr(順序寫)、seqrewr(順序讀寫)、seqrd(順序讀)、rndr d(隨即讀)、rndwr(隨機寫)、rndrw(隨機讀寫) 

sysbench fileio --file-num=128 --file-block-size=16384 --file-total-size=2g --file-test-mode=seqwr --threads=4 run

5、測試記憶體

--memory-block-size塊大小

--memory-total-size總大小

--memory-access-mode測試模式 seq順序模式,rnd隨機模式

sysbench memory --memory-block-size=1k --memory-total-size=4g --memory-access-mode=rnd --threads=4 run

6、測試資料庫

--oltp-test-mode  測試模式

--oltp-tables-count   建立表數

--oltp-table-size    表資料量大小

--threads   執行緒

--time    時間

--report-interval   反饋間隔時間

建立測試資料庫

sysbench ./oltp.lua --mysql-user=root --mysql-password=ljzlxyfwm --mysql-db=test --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=150 --time=120 --report-interval=2 prepare

測試資料庫效能

sysbench ./oltp.lua --mysql-user=root --mysql-password=ljzlxyfwm --mysql-db=test --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --thread=4 run

清空測試資料庫

sysbench ./oltp.lua --mysql-user=root --mysql-password=ljzlxyfwm --mysql-db=test --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --thread=4 cleanup

伺服器壓力測試心得

最近完成了乙個伺服器框架,於是測試的他的qps,發現了乙個奇怪的問題,測試出來qps只有3w s,與前面說的10w s,有很大的差距。使用trace命令列印出glibc函式呼叫資訊,發現了大部分的時間程式處於鎖等待狀態,我開始懷疑認為是內部使用鎖占用太多時間。於是乎改為無鎖佇列。關於無鎖佇列已經記錄...

後端伺服器的壓力測試

比如我要測試伺服器的連線數最大能達到多少?以前測試的方法是乙個客戶端開啟n個執行緒 n 1000 或者2000,3000 但是並沒有達到測試的效果。做過一些測試,基本方法是啟動乙個客戶端,通過多個執行緒來同時來連線客戶端,乙個執行緒相當於乙個客戶端連線,執行緒數量是可控制的,設定引數一般為 100,...

測試web伺服器的壓力測試程式

以下 是自己寫的乙個測試web伺服器的壓力測試程式,採用epoll多路分發模型,雖然是單執行緒但可以產生足夠的壓力。感興趣的同學可以修改一下測試自己的伺服器程式。include include include include include include include include inclu...