最近著迷于性能測試,遂學習一把壓測神器sysbench
站在用戶的角度思考問題,與客戶深入溝通,找到河北網站設計與河北網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網站制作、做網站、外貿營銷網站建設、企業(yè)官網、英文網站、手機端網站、網站推廣、主機域名、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋河北地區(qū)。sysbench是github上開源的項目
鏈接地址:https://github.com/akopytov/sysbench
1.clone and download選擇copy URL
2.cd /tmp --> Centos終端輸入git clone https://github.com/akopytov/sysbench.git
3.按照README.MD中源碼安裝指導一步步操作即可。
yum -y install make automake libtool pkgconfig libaio-devel
yum -y install mariadb-devel
./autogen.sh
./configure
make -j
make install
關鍵詞:隨機產生數(shù)據(jù),測試不同磁盤,在不同磁盤目錄下執(zhí)行命令
準備階段:sysbench --test=fileio --num-threads=4 --file-total-size=10G --file-test-mode=rndrw prepare
壓力測試階段:sysbench --test=fileio --num-threads=4 --file-total-size=10G --file-test-mode=rndrw run
清理數(shù)據(jù)階段:sysbench --test=fileio --num-threads=4 --file-total-size=10G --file-test-mode=rndrw cleanup
TPS:Transactions Per Second,每秒傳輸?shù)氖聞仗幚韨€數(shù)。這是指服務器每秒處理的事務數(shù),是支持事務的存儲引擎特有的一個性能指標。
QPS:Queries Per Second,每秒查詢處理量,適用大多數(shù)存儲引擎。
tpmC:Transactions Per Minute,每分鐘處理的交易量,等同于TPS,是TPC-C的測試指標(tpcc-mysql)。
iops:每秒磁盤進行的I/O操作次數(shù)
iowait:一個采樣周期內有百分之幾的時間處于:CPU空閑、并且有仍未完成的I/O請求
svctm:設備處理請求的平均時間(ms)。指的是讀寫請求脫離linux內核調度,進入設備讀寫階段所耗時間。
%util:可以簡單的理解為:單位時間內,設備繁忙比。比如,10秒鐘,有6秒在進行讀寫,則util = 60%。
每秒I/O字節(jié)數(shù)(I/O吞吐)
事務響應時間
I/O設備提供的設備級別IOPS、讀寫延時數(shù)據(jù)
response time avg:平均響應時間
TPS and OPS
系統(tǒng)層面的cpu、io、mem相關指標
如果兩次tps/tpmC一樣,那么誰的事務響應時間、iowait、svctm、%util、讀寫延時更低,就是誰更好
sysbench /tmp/sysbench/src/lua/oltp_read_write.lua \
--mysql-host=127.0.0.1 --mysql-port=3306 \
--mysql-user=sysbench --mysql-password=sysbench \
--mysql-db=sbtest --tables=10 --table-size=100000 --threads=1 \
--report-interval=10 --rand-type=uniform --max-time=300 \
--max-requests=0 --percentile=99 prepare/run/cleanup
結果指定到文件:
run >>./log/sysbench_oltpX_20180313.log
參數(shù)解釋:
./src/lua/oltp_read_write.lua 表示調用本腳本進行oltp模式測試
--mysql-db=sbtest 表示指定測試庫
--tables=10 表示生成10個測試表
--table-size=100000 表示每個測試表填充數(shù)據(jù)量為100000
run模式的參數(shù):
--threads=1 表示發(fā)起1個并發(fā)連接
--report-interval=10 表示每10秒輸出一次測試進度報告
--rand-type=uniform 表示隨機類型為固定模式
--max-time=300 表示大執(zhí)行時長300秒
--max-requests=0 表示總請求數(shù)為 0,因為上面已經定義了總執(zhí)行時長,所以總請求數(shù)可以設定為 0;也可以只設定總請求數(shù),不設定大執(zhí)行時長
--percentile=99 表示設定采樣比例,默認是 95%;即丟棄1%的長請求,在剩余的99%里取大值
prepare:準備階段,準備數(shù)據(jù)
run:壓測執(zhí)行
cleanup:壓測后馬上清理數(shù)據(jù)
每輪測試完成后,都重啟mysqld實例,并且用下面的方法刪除系統(tǒng)cache,釋放swap(如果用到了swap的話),甚至可以重啟整個OS
shell> sync --將臟數(shù)據(jù)刷新到磁盤
shell> echo 3 > /proc/sys/vm/drop_caches --清楚OS Cache
shell> swapoff -a && swapon -a
安裝windows客戶端,用于出圖
軟件:gp507-win64-mingw
下載url:https://jaist.dl.sourceforge.net/project/gnuplot/gnuplot/5.0.7/gp507-win64-mingw.exe
舉例:
plot 'C:\Users\limin\Downloads\20180314.log' using 7 with linespoint title 'vm1-TPS',
'C:\Users\limin\Downloads\20180314-10.log' using 7 with linespoint title 'vm2-TPS'
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。