2017-08-09 396 views
1

我正在嘗試使用sysbench在mySQL數據庫上運行基準測試。但是,它說它找不到內置測試oltp在sysbench上找不到oltp測試

細節: 我已經在我的本地機器上安裝了mySQL和sysbench。 另外,我在mySQL中創建了數據庫dbtest。然後我執行下面的指令。

sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=dbtest --mysql-user=root --mysql-password=<password> prepare 

但後來發生了這個錯誤信息。

WARNING: the --test option is deprecated. You can pass a script 
name or path on the command line without any options. 
sysbench 1.0.8 (using bundled LuaJIT 2.1.0-beta2) 

FATAL: Cannot find benchmark 'oltp': no such built-in test, file or module 

sysbench的工作得很好與其他測試,如

sysbench --test=cpu --cpu-max-prime=20000 run

我認爲這個問題是sysbench的找不到預定義的測試,稱爲oltp但我不知道如何計算出來。

謝謝您的閱讀。

回答

5

從輸出中,它看起來像你已經安裝了最新的sysbench 1.0。所以,你可以嘗試下面的準備命令 -

sysbench --db-driver=mysql --mysql-user=root --mysql-password=<pwd> \ 
    --mysql-socket=<mysql.sock path> --mysql-db=foo --range_size=100 \ 
    --table_size=10000 --tables=2 --threads=1 --events=0 --time=60 \ 
    --rand-type=uniform /usr/share/sysbench/oltp_read_only.lua prepare 

在運行prepare命令之前,打開mysql控制檯並創建一個數據庫foo - create database foo。如果你有mysql安裝在標準位置,那麼不需要mysql.sock的路徑。利用數據庫FOO,節目表等

然後,您可以按以下方式運行基準 - -

8表數據庫裏面FOO使用上述命令創建的,則可以使用以下命令來檢查他們的MySQL控制檯上

sysbench --db-driver=mysql --mysql-user=root --mysql-password=<pwd> \ 
    --mysql-socket=<mysql.sock path> --mysql-db=foo --range_size=100 \ 
    --table_size=10000 --tables=2 --threads=1 --events=0 --time=60 \ 
    --rand-type=uniform /usr/share/sysbench/oltp_read_only.lua run 

注:有sysbench的份額文件夾內的許多工作量,除了oltp_read_only,你可以將它們周圍玩耍。有足夠的文檔提供github鏈接 - https://github.com/akopytov/sysbench

+0

很高興你提供lua腳本的位置!我不知道爲什麼很難找到lua scrip的位置。 – cwhsu