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...