使用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 資料庫管理系統 的統一操作...