Sysbench-OLTP數據庫測試


使用sysbench進行oltp測試之前,需要核對一下sysbench的版本,因為不同版本在使用的參數時,會有一定的差異。
mysql dba這本書中的sysbench使用的是0.5的版本,ubuntu中默認apt-get安裝的是0.4.12版本,在執行數據准備時,參數不同,會報錯-> 不知道的選項,不知道的參數,文件路徑找不到
所以,建議在測試之前,確認一下版本的一致性,或者使用提供的help命令,確認提供的參數。
 
此次測試環境以及工具版本為:
  • CentOS Linux release 7.3.1611 (Core)
    sysbench 0.5
    mysql  Ver 14.14 Distrib 5.6.37, for Linux (x86_64) using  EditLine wrapper
在oltp測試中,基本分為三個階段:

1、初始化數據

    需要在數據庫中提前創建好sbtest數據庫,若不創建,也可使用參數指定對應的數據庫,進行數據插入准備
   根據自己電腦的實際情況拼寫參數,如,mysql-user和mysql-password分別對應的是數據庫的登錄名和密碼,mysql-socket需要指定mysql.sock文件的位置【查看my.cnf配置文件】
 
sysbench --test=oltp.lua --mysql-table-engine=innodb --oltp-tables-count=3 --oltp-table-size=1000000 --mysql-user=root --mysql-password=123456 --mysql-socket=/var/lib/mysql/mysql.sock  prepare

 參數:

--mysql-db=test          //測試數據庫
--mysql-user=root        //用戶名
--myssql-password=123456   //密碼
--oltp-tables-count=8      //表的數量
--oltp-table-size=100000    //每張表記錄為10萬
--mysql-sock=/var/lib/mysql/mysql.sock     //mysql.sock路徑,本地連接時可指定host ip連接,也可直接使用Mysql.sock連接

 

執行完建表語句后,生成一下數據
執行結果:在使用root賬戶登錄數據庫,在sbtest數據庫中插入三張表,每張表1000000條數據

2、執行測試

sysbench --test=oltp.lua --mysql-table-engine=innodb --oltp-tables-count=3 --oltp-table-size=1000000 --mysql-user=root --mysql-password=123456 --mysql-socket=/var/lib/mysql/mysql.sock --max-time=60 --max-requests=0 --num-threads=8 --report-interval=10 run

 

新增的幾個參數選項:

--num-threads=8    //線程數為8
--max-time=60      //測試時間為60s
--report-interval=10    //報告打印周期為10s,每10s打印一次
--oltp-read-only=off    //非只讀操作測試

最重要的參數指標: 總的事務數,每秒事務數,時間統計信息(最大、最小、平均、95%以上語句響應時間)
 

 3、清理數據

sysbench --test=oltp.lua --mysql-table-engine=innodb --oltp-tables-count=3 --oltp-table-size=1000000 --mysql-user=root --mysql-password=123456 --mysql-socket=/var/lib/mysql/mysql.sock cleanup

 

 

測試過程中的問題:

1、oltp的位置指定,報錯找不到對應的oltp.lua文件
注:此處需要指定oltp.lua腳本位置,sysbench5默認已經指定,如果按照網上或者樹上的語句,提示如下報錯,找不到對應的文件,發現自己寫的路徑前又追加了sysbench自帶的路徑,直接指定到了sysbench子文件夾。
    需要改變路徑,直接指定oltp.lua即可
sysbench --test=oltp.lua --mysql-table-engine=innodb --oltp-tables-count=3 --oltp-table-size=1000000 --mysql-user=root --mysql-password=123456 --mysql-socket=/var/lib/mysql/mysql.sock prepare 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM