sysbench效能測試工具
sysbench是一個模組化的、跨平臺、多執行緒基準,主要用於評估測試各種不同系統引數下的資料庫負載情況。它主要包括以下幾種方式的測試工具。
一、安裝
首先,在 http://sourceforge.net/projects/sysbench 下載原始碼包。
接下來,按照以下步驟安裝:
tar zxf sysbench-0.4.12.tar.gz
cd sysbench-0.4.12
./configure && make && make install
以上方法適用於 MySQL 安裝在標準預設目錄下的情況,如果 MySQL 並不是安裝在標準目錄下的話,那麼就需要自己指定 MySQL 的路徑了。比如我的 MySQL 喜歡自己安裝在 /usr/local/mysql 下,則按照以下方法編譯:
./configure --with-mysql-includes=/usr/local/mysql/include/mysql --with-mysql-libs=/usr/local/mysql/lib/mysql && make && make install
當然了,用上面的引數編譯的話,就要確保你的 MySQL lib目錄下有對應的 so 檔案,如果沒有,可以自己下載 devel 或者 share 包來安裝(推薦使用MySQL的原始碼包安裝)。
另外,如果想要讓 sysbench 支援 pgsql/oracle 的話,就需要在編譯的時候加上引數
--with-pgsql
或者
--with-oracle
這2個引數預設是關閉的,只有 MySQL 是預設支援的。
二、使用方法
編譯成功之後,就要開始測試各種效能了,測試的方法官網網站上也提到一些,但涉及到 OLTP 測試的部分卻不夠準確。在這裡我大致提一下:
1、cpu效能測試
sysbench --test=cpu --cpu-max-prime=20000 run
cpu測試主要是進行素數的加法運算,在上面的例子中,指定了最大的素數為 20000,自己可以根據機器cpu的效能來適當調整數值。
2、執行緒測試
sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run
3、磁碟IO效能測試
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup
上述引數指定了最大建立16個執行緒,建立的檔案總大小為3G,檔案讀寫模式為隨機讀(rndrw)。
4、記憶體測試
sysbench --test=memory --memory-block-size=8k --memory-total-size=4G run
上述引數指定了本次測試整個過程是在記憶體中傳輸 4G 的資料量,每個 block 大小為 8K。
5、OLTP測試
sysbench --test=oltp --mysql-table-engine=myisam --oltp-table-size=1000000 --mysql-socket=/tmp/mysql.sock --mysql-user=test --mysql-host=localhost --mysql-password=test prepare
上述引數指定了本次測試的表儲存引擎型別為 myisam,另外,指定了表最大記錄數為 1000000,其他引數就很好理解了,主要是指定登入方式。測試 OLTP 時,可以自己先建立資料庫 sbtest,或者自己用引數 --mysql-db 來指定其他資料庫。--mysql-table-engine 還可以指定為 innodb 等 MySQL 支援的表儲存引擎型別。
測試的時候注意thread數大於兩倍CPU數,測試檔案大小大於5倍記憶體大小。
拿兩臺機器,test1(8CPU,16G記憶體)和test2(3CPU,8G記憶體)來做測試
1、 cpu效能測試
sysbench --test=cpu --num-threads=32 --cpu-max-prime=90000 run
cpu測試主要是進行素數的加法運算,在上面的例子中,指定了最大的素數為 90000,
root :/root>#sysbench --test=cpu --num-threads=32 --cpu-max-prime=90000 run
2、 執行緒測試
sysbench --test=threads --num-threads=512 --thread-yields=100 --thread-locks=2 run
thread-locks小於執行緒數除以2,lock越少,處理時間越長。
test1: sysbench --test=threads --num-threads=512 --thread-yields=100 --thread-locks=2 run
3、磁碟IO效能測試
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup上述引數指定了最大建立16個執行緒,建立的文件總大小為3G,文件讀寫模式為隨機讀。
CD到空間足夠的檔案系統,執行命令等待建立
test1:/root>#sysbench --test=fileio --num-threads=64 --file-total-size=12G --file-test-mode=rndrw prepare
我們看到兩臺機器的速度差好多,一個64M/S,一個19M/S.第二臺估計有問題,需要找找原因。測試完後記得刪除資料,否則會佔用空間。
sysbench --test=fileio --num-threads=64 --file-total-size=12G --file-test-mode=rndrw cleanup
4、記憶體測試
sysbench --test=memory --memory-block-size=8192 --memory-total-size=4G run上述引數指定了本次測試整個過程是在記憶體中傳輸 4G 的資料量,每個 block 大小為 8K。
test1:/root>#sysbench --test=memory --num-threads=32 --memory-block-size=8192 --memory-total-size=512G run
5、OLTP測試
1 、準備資料
# sysbench --debug=off --test=oltp --mysql-host=10.15.2.137 --mysql-user=test --mysql-password=test --oltp-table-size=1000000 --mysql-db=test --oltp-table-name=stest --num-threads=20 --max-requests=10000 --oltp-auto-inc=off --mysql-engine-trx=yes prepare
2、測試
# sysbench --debug=off --test=oltp --mysql-host=10.15.2.137 --mysql-user=test --mysql-password=test --oltp-table-size=1000000 --mysql-db=test --oltp-table-name=stest --num-threads=20 --max-requests=10000 --oltp-auto-inc=off --mysql-engine-trx=yes run
3、刪除資料
# sysbench --debug=off --test=oltp --mysql-host=10.15.2.137 --mysql-user=test --mysql-password=test --oltp-table-size=1000000 --mysql-db=test --oltp-table-name=stest --num-threads=20 --max-requests=10000 --oltp-auto-inc=off --mysql-engine-trx=yes cleanup
指定了表最大記錄數為 1000000,其他引數就很好理解了,主要是指定登入方式。測試 OLTP 時,能夠自己先建立資料庫 sbtest,或自己用引數 --mysql-db 來指定其他資料庫。--mysql-table-engine 還能夠指定為 innodb 等 MySQL 支援的表儲存引擎型別。
三、報錯及注意事項:
1、安裝報錯:
a) 畢後,如果在執行時出現下面的錯誤提示:
sysbench: error while loading shared libraries: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
使用下面的命令檢視libmysqlclient_r.so.16是否存在
[[email protected] sysbench-0.4.8]# find / -name "libmysqlclient_r.so.16" -print
/usr/local/lib/mysql/libmysqlclient_r.so.16
結果顯示是存在的,那麼我們需要做個連結
[[email protected] sysbench-0.4.8]# ln -s /usr/local/lib/mysql/libmysqlclient_r.so.16 /lib/libmysqlclient_r.so.16
如果沒有,可以自己下載 devel 或者 share 包來安裝。
b)# make 時報錯:
drv_mysql.c:35:19: mysql.h: No such file or directory
是因為找不到mysql 的標頭檔案,只要 --with-mysql-includes= 確定好路徑就可以了我的應該是 ./configure --with-mysql-includes=/usr/local/mysql/include/mysql --with-mysql-libs=/usr/local/mysql/lib/mysql
c) # make 時報錯:
../libtool: line 838: X--tag=CC: command not found
../libtool: line 871: libtool: ignoring unknown tag : command not found
../libtool: line 838: X--mode=link: command not found
../libtool: line 1004: *** Warning: inferring the mode of operation is deprecated.: command not found
../libtool: line 1005: *** Future versions of Libtool will require --mode=MODE be specified.: command not found
../libtool: line 2231: X-g: command not found
../libtool: line 2231: X-O2: command not found
../libtool: line 1951: X-L/usr/local/mysql/lib/mysql/: No such file or directory
../libtool: line 2400: Xsysbench: command not found
(1) 方法 :只要先執行一次autogen.sh,然後再configure,make就可以了,作者的主頁有說明的
(2) 方法:是因為libtool 工具版本太舊。 安裝一個新的版本,然後覆蓋掉sysbench 自己生成的。
相關推薦
sysbench效能測試工具
sysbench是一個模組化的、跨平臺、多執行緒基準,主要用於評估測試各種不同系統引數下的資料庫負載情況。它主要包括以下幾種方式的測試工具。一、安裝 首先,在 http://sourceforge.net/projects/sysbench 下載原始碼包。 接下來,按照以下步驟安
Linux下的效能測試工具 – sysbench
sysbench是一款開源的多執行緒效能測試工具,可以執行CPU/記憶體/執行緒/IO/資料庫等方面的效能測試。資料庫目前支援MySQL/Oracle/PostgreSQL。本文只是簡單演示一下幾種測試的用法,後續準備利用sysbench來對MySQL進行一系列的測試。具體
MySql效能測試工具-sysbench
雖然mysql預設的有mysqlslap這個效能測試工具,但和sysbench比較來說,還遜色不少。 shell> wget https://github.com/akopytov/sysbench/archive/1.0.zip
sysbench 0.5 效能測試工具使用手冊
1. sysbench 介紹sysbench是一個模組化的、跨平臺、多執行緒基準測試工具,主要用於評估測試各種不同系統引數 下的資料庫負載情況。關於這個專案的詳細介紹請看:http://sysbench.sourcef
sysbench 0.5 效能測試工具
sysbench 介紹 SysBench是一個模組化的、跨平臺、多執行緒基準測試工具,主要用於評估測試各種不同系統引數下的資料庫負載情況。它主要包括以下幾種方式的測試: cpu效能磁碟io效能排程程式效能記憶體分配及傳輸速度POSIX執行緒效能資料庫效能(OLTP基準測試) 目前sysbench主要支援
效能測試工具siege安裝及測試
其實對於類似的效能測試工具之前接觸過AB。我是在ubuntu下做的測試。 1、更新系統 sudo apt-get update && sudo apt-get upgrade –show-upgraded 2、下載最新版的siege wget http://do
網站效能測試工具 webbench 的安裝和使用
1.webbench的下載和安裝 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz sudo tar xvf webbench-1.5.tar.gz -C /usr/local/ cd /usr/l
效能測試工具LoadRunner31-LR之連結mysql
步驟: 1.建好mysql資料庫並啟動 2.下載libmysql.dll,放到儲存指令碼的資料夾下 3.編寫指令碼並執行 1 Action() 2 { 3 int rc; //定義狀態變數,0表示成功,非0表
資料庫之redis篇(2)—— redis配置檔案,常用命令,效能測試工具
redis配置 如果你是找網上的其他教程來完成以上操作的話,相信你見過有的啟動命令是這樣的: 啟動命令帶了這個引數:redis.windows.conf,由於我測試環境是windows平臺,所以是這個,有的是redis.conf。顧名思義,redis.conf就是配置檔案,然後啟動時加
效能測試工具介紹
本文主要介紹一下常用的兩款測試工具: 效能測試壓測工具-Jmeter 效能測試監控工具-JProfiler 1. 效能測試壓測工具-Jmeter 1.2 Jmeter簡介 JMeter,一個100%的純Java桌面應用,由Apache組織的開放原始碼專案,它是功能
Emmagee--APP效能測試工具的基本使用
一、Emmagee介紹 Emmagee是監控指定被測應用在使用過程中佔用機器的CPU、記憶體、流量資源的效能測試小工具。該工具的優勢在於如同windows系統性能監視器類似,它提供的是資料採集的功能,而行為則基於使用者真實的應用操作支援SDK:Android2.2以及以上版本 二、為什麼使用Emmagee
Jmeter效能測試工具學習(Jmeter中的函式和BeanShell)
函式 loadrunner中的函式 Jmeter中的函式 1)函式格式 ${__functionName(var1,var2,var3)} 2)如果函式沒有引數,那可以沒有括號 例如 ${__threadNum} 例子: BeanShell
Jmeter效能測試工具學習(8.關聯)
關聯 從動態的響應中的請求拿取字串 伺服器返回的動態變化且對業務有影響的是 需要做關聯的 Jmeter中的關聯 強大的後置處理器: Regular Expression Extractor 正則表示式
Jmeter效能測試工具學習(7.引數化)
引數化 — 對於動態變化的值引入引數化會變得更加便捷 現實考慮 哪些地方需要引數化? 引數化需要變數 變數新增方式 1、在Test Plan中新增 變數 2、在UDV中新增變數 3、在foreach中新增隨機變數 &
Jmeter效能測試工具學習(6.取樣器詳細解析)
取樣器(Sampler) 主要工作的元件 每個取樣器都有自己的“個性”和特點 個性? 1、每種取樣器對應相應的協議 2、在取樣器背後都是網路協議的包裝 3、學好取樣器關鍵的點要了解相應的協議&nbs
Jmeter效能測試工具學習(5.jmeter邏輯控制器)
Logic Controller 1、首先必須宣告的是: Jmeter中的Controller 和 LoadRunner中的Controller的區別。 2、回到執行順序。檢視Controller的執行順序。 Simple Controller 1、 The S
Jmeter效能測試工具學習(4.指令碼組成和元件搭配)
Jmter指令碼開發原則 簡單:不要無用、無關的元件,同時能複用的儘量複用。比如:HTTP Request Ddfauits公共元件 正確:對指令碼或者業務正確性進行必要的判斷,不能少也不能多。(返回200) 高效:部分 元件僅僅使用在指令碼開發模式下,在真正生產環境下不要使用 。
Jmeter效能測試工具學習(3.重要元件介紹)
jmeter元件(元素) 1)jmeter中sampler(取樣器) 2)jmeter計時器 3)jmeter前置處理器/後置處理器 (在取樣器存在後存在) 4)jmeter斷言 5)jmeter中Controller
sysbench壓力測試工具的安裝-轉載-老僧觀天下
轉載自老僧觀天下:https://www.cnblogs.com/hally/p/8360637.html sysbench是一款壓力測試工具,可以測試系統的硬體效能,也可以用來對資料庫進行基準測試 wget https://github.com/akopytov/sysbench/arch
Emmagee——開源Android效能測試工具
工具:Emmagee作者:孔慶雲 網易(杭州)質量保證部 開源地址:https://github.com/NetEase/Emmagee Wiki:https://github.com/NetEase/Emmagee/wiki 問題:https://github.com/NetEase/Emmag