資料庫系統測試工具sysbench

2021-08-29 22:10:42 字數 2864 閱讀 7071

sysbench是乙個模組化的、跨平台、多執行緒基準測試工具,主要用於評估測試各種不同系統引數下的資料庫負載情況。關於這個專案的詳細介紹請看:

它主要包括以下幾種方式的測試:

1、cpu效能

2、磁碟io效能

3、排程程式效能

4、記憶體分配及傳輸速度

5、posix執行緒效能

6、資料庫效能(oltp基準測試)

目前sysbench主要支援 mysql,pgsql,oracle 這3種資料庫。

一、安裝

以上方法適用於 mysql 安裝在標準預設目錄下的情況,如果 mysql 並不是安裝在標準目錄下的話,那麼就需要自己指定 mysql 的路徑了。比如我的 mysql 喜歡自己安裝在 /usr/local/mysql 下,則按照以下方法編譯:

/configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib && make && make install

這2個引數預設是關閉的,只有 mysql 是預設支援的。

二、開始測試

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,檔案讀寫模式為隨機讀。

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,這裡需要注意的是,官方**上的引數有一處有誤,即 –mysql-table-engine,官方**上寫的是 –mysql-table-type,這個應該是沒有及時更新導致的。另外,指定了表最大記錄數為 1000000,其他引數就很好理解了,主要是指定登入方式。測試 oltp 時,可以自己先建立資料庫 sbtest,或者自己用引數 –mysql-db 來指定其他資料庫。–mysql-table-engine 還可以指定為 innodb 等 mysql 支援的表儲存引擎型別。

附:用sysbench進行mysql效能測試

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

資料庫系統測試工具sysbench

sysbench是乙個模組化的 跨平台 多執行緒基準測試工具,主要用於評估測試各種不同系統引數下的資料庫負載情況。關於這個專案的詳細介紹請看 http sysbench.sourceforge.net。它主要包括以下幾種方式的測試 1 cpu效能 2 磁碟io效能 3 排程程式效能 4 記憶體分配及...

資料庫系統mysql MySQL資料庫系統

1 mysql的特點 1 多執行緒 多使用者 2 基於c s 客戶端 伺服器 架構 3 簡單易用 查詢速度快 4 安全可靠 2 mysql編譯安裝 代表鍵盤上tab鍵 1 準備工作 解除安裝使用rpm方式安裝的mysql rpm e mysql nodeps 安裝cmake包 cd media ta...

資料庫系統 資料庫 資料庫管理系統 資料庫系統

繼續寫資料庫系統的文章,第二篇 資料庫 資料庫管理系統 資料庫系統。本文主要談談這三者之間的關係。下方,摘自老師的ppt,非原創。資料庫管理系統 從系統角度看資料庫管理系統 資料庫系統 資料庫指的是長期儲存在計算機內有組織的,大量的,相關聯的,可共享的資料集合。資料應當是有組織的,不應該是雜亂無章的...