一、sysbench壓力測試工具簡介:
sysbench是乙個開源的、模組化的、跨平台的多執行緒效能測試工具,可以用來進行cpu、記憶體、磁碟i/o、執行緒、資料庫的效能測試。目前支援的資料庫有mysql、oracle和postgresql。以下操作都將以支援mysql資料庫為例進行
1. sysbench工具安裝:
預設支援mysql,如果需要測試oracle/postgresql,則在configure時需要加上-with-oracle或者-with-pgsql引數.
編譯安裝
tar -zxvf sysbench-1.0.tar.gz
cd sysbench-1.0
./autogen.sh
關鍵的三步:configure && make && make install
首先是./configure命令,sysbench預設是支援mysql的benchmarking的,如果不加任何選項則要求保證mysql的安裝路徑都是預設的標準路徑,headfile位於/usr/include目錄下,libraries位於/usr/lib/目錄下。因為我的mysql是原始碼編譯安裝的,安裝路徑是放在/usr/local/mysql下,所以這裡要新增相應的選項命令:
# ./configure --prefix=/usr/local/sysbench --with-mysql=/usr/local/mysql \
--with-mysql-includes=/usr/local/mysql/include/mysql/ \
--with-mysql-libs=/usr/local/mysql/lib/mysql/
2.sysbench的測試主要包括以下幾個方面:
1、磁碟io效能
2、cpu效能
3、記憶體分配及傳輸速度
4、posix執行緒效能
5、排程程式效能
6、資料庫效能(oltp基準測試).
例子:2.1 對磁碟io效能的測試
2.2.1 建立fileio檔案
建立初始化fileio檔案:
sysbench --test=fileio --file-num=16 --file-total-size=2g prepare
2.2.2 開始fileio測試
sysbench --test=fileio --file-total-size=2g --file-test-mode=rndrd --max-time=180 --max-requests=100000000 --num-threads=16 --init-rng=on --file-num=16 --file-extra-flags=direct --file-fsync-freq=0 --file-block-size=16384 run
2.2.3 測試完成執行cleanup 試結束後,以確保測試所產生的檔案都已刪除:
sysbench --test=fileio --file-num=16 --file-total-size=2g cleanup
測試不同的方式的shell指令碼--file-test-mode=string 檔案測試模式,包含:seqwr(順序寫), seqrewr(順序讀寫), seqrd(順序讀), rndrd(隨機讀), rndwr(隨機寫), rndrw(隨機讀寫)
#!/bin/bash
for size in
dofor mode in
dofor blksize in
dosysbench --test=fileio --file-num=64 --file-total-size=$size prepare
for threads in
doecho "**********==testing $blksize in $threads threads"
echo paras $size $mode $threads $blksize > sysbench-size-$size-mode-$mode-threads-$threads-blksz-$blksize
for i in
dosysbench --test=fileio --file-total-size=$size --file-test-mode=$mode --max-time=180 --max-requests=100000 --num-threads=$threads --init-rng=on --file-num=64 --file-extra-flags=direct --file-fsync-freq=0 --file-block-size=$blksize run|tee -a sysbench-size-$size-mode-$mode-threads-$threads-blksz-$blksize 2>&1
done
done
sysbench --test=fileio --file-total-size=$size cleanup
done
done
done
2.2 測試cpu 測試計算素數的時間
sysbench --test=cpu --cpu-max-prime=20000 run
2.3 oltp的基準測試
2.3.1 生成測試的表
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password='12345' prepare
2.3.2 測試
sysbenh --test=oltp --oltp-table-size=1000000 -mysql-db=test --mysql-user=root --mysql-password='12345' --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run
8個併發執行緒唯讀模式,時長60s
注意,sysbench測試不一定代表真實環境的測試,這個工具只是乙個」基準測試「。
sysbench工具使用
automake libtool sysbench 1.0.zip yum install automake libtool mkdir usr local sysbench p cd usr local sysbench unzip sysbench 1.0.zip cd sysbench 1.0...
sysbench安裝和使用
sysbench是一款測試工具 主要包括以下幾種方式的測試 1 cpu效能 2 磁碟io效能 3 排程程式效能 4 記憶體分配及傳輸速度 5 posix執行緒效能 6 資料庫效能 oltp基準測試 現在sysbench主要支援 mysql,pgsql,oracle 這3種資料庫 git github...
sysbench安裝及使用
一 安裝 2 上傳到伺服器 剛部署的伺服器,可能沒有編譯環境 可安裝編譯環境 安裝編譯環境 yum groupinstall y development tools rz命令 如果伺服器沒有rz命令,可以安裝 yum install lrzsz y 上傳成功後,可以檢視 3 安裝.autogen.s...