Sysbench OLTP資料庫測試

2022-02-09 13:51:47 字數 2532 閱讀 2542

使用sysbench進行oltp測試之前,需要核對一下sysbench的版本,因為不同版本在使用的引數時,會有一定的差異。

mysql dba這本書中的sysbench使用的是0.5的版本,ubuntu中預設apt-get安裝的是0.4.12版本,在執行資料準備時,引數不同,會報錯->

不知道的選項,不知道的引數,檔案路徑找不到

所以,建議在測試之前,確認一下版本的一致性,或者使用提供的help命令,確認提供的引數。

此次測試環境以及工具版本為:

在oltp測試中,基本分為三個階段:

需要在資料庫中提前建立好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條資料

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%以上語句響應時間)

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

資料庫 資料庫索引

索引是儲存引擎用於快速找到記錄的一種資料結構。索引以檔案的形式儲存在磁碟中。索引可以包含乙個或多個列的值。儲存引擎查詢資料的時候,先在索引中找對應值,然後根據匹配的索引記錄找到對應的資料行。1.b tree索引 2.雜湊索引 myisam和innodb儲存引擎 只支援btree索引,也就是說預設使用...

資料庫 資料庫正規化

關聯式資料庫的設計規範。不同的規範要求被稱為不同的正規化,越高的正規化資料庫冗餘越小。減少資料庫中資料冗餘的過程 1 第一正規化 1nf 在關係模式r中,當且僅當所有屬性只包含原子值,即每個分量都是不可再分的資料項,則稱r滿足1nf。例如表所示的教師職稱情況關係就不滿足1nf。原因在於,該關係模式中...

資料庫 資料庫基礎

什麼是sql 結構化查詢語言 structtured query language sql的作用 啟動mysql.exe,連線伺服器後,就可以使用sql來操作伺服器了。類似php中操作mysql的語句就是sql語句 sql標準 由國際標準化組織 iso 制定的,對dbms 資料庫管理系統 的統一操作...