注: sysbench的版本是1.0.14,MySQL的版本是5.7,Linux是Ubuntu16,運行內存是4G,可用的CPU核數是4。 mysql
準備工做:git
在ubuntu命令行中執行List-1中的命令,此時數據庫foo中會新增一張表,表中10w行數據。github
List-1sql
sysbench /usr/share/sysbench/oltp_read_only.lua --db-driver=mysql --table_size=100000 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密碼 prepare
在ubuntu命令行中執行List-2中的命令。數據庫
List-2ubuntu
sysbench /usr/share/sysbench/oltp_read_only.lua --db-driver=mysql --table_size=100000 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密碼 run
獲得的結果以下:bash
圖1 run命令的結果多線程
圖1中顯示: 測試
"transactions: 4244 (424.29 per sec.)",每秒事物數是424.29;優化
"queries: 67904 (6788.64 per sec.)",每秒讀寫次數是6788;
其它數據不太瞭解其表明什麼。
執行List-3中的命令後,foo中剛纔新建的表被刪除了。
List-3
sysbench /usr/share/sysbench/oltp_read_only.lua --db-driver=mysql --table_size=100000 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密碼 cleanup
咱們來測試數據量比較大的狀況,建4張表(原本想建10張表的,虛擬機硬盤不夠),每張表插入100萬條數據
List-4
sysbench /usr/share/sysbench/oltp_read_only.lua --db-driver=mysql --table_size=1000000 --tables=4 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密碼 prepare
以下圖2所示,會多出4張表,
圖2 數據庫foo裏面多出4張表,每張表有100萬條記錄
List-5
sysbench /usr/share/sysbench/oltp_read_only.lua --db-driver=mysql --table_size=1000000 --tables=4 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密碼 run
結果以下所示
圖3 用sysbench的run命令測試的結果
圖3中顯示:
"transactions: 5959 (595.66 per sec.)",每秒事物數是595.66;
"queries: 95344 (9530.59 per sec.)",每秒讀寫次數是9530.59;
圖3中的事物數和讀寫次數都比圖1中的高,爲何會這樣就不知道了,我只是將"--table_size=1000000 --tables=4"這倆個參數的值改變了。
List-6
sysbench /usr/share/sysbench/oltp_read_only.lua --db-driver=mysql --table_size=1000000 --tables=4 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=jmd cleanup
執行cleanup命令後,再去查看foo數據庫,圖2中的4張表已經不存在了。
注意:其實上面只是測只讀模式,由於咱們使用的是/usr/share/sysbench/oltp_read_only.lua,即read_only。看圖1和圖3中,SQL statics處,write的值都是0。
安裝完sysbench後,新增了一些oltp開頭的文件(find / -name oltp*),以下List-7。
List-7
...... find: ‘/sys/kernel/debug’: Permission denied find: ‘/root’: Permission denied /usr/share/sysbench/oltp_delete.lua /usr/share/sysbench/oltp_update_index.lua /usr/share/sysbench/oltp_point_select.lua /usr/share/sysbench/oltp_common.lua /usr/share/sysbench/tests/include/oltp_legacy /usr/share/sysbench/tests/include/oltp_legacy/oltp_simple.lua /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua /usr/share/sysbench/oltp_read_only.lua /usr/share/sysbench/oltp_write_only.lua /usr/share/sysbench/oltp_read_write.lua /usr/share/sysbench/oltp_insert.lua /usr/share/sysbench/oltp_update_non_index.lua find: ‘/etc/polkit-1/localauthority’: Permission denied find: ‘/etc/ssl/private’: Permission denied ......
此次使用/usr/share/sysbench/oltp_read_write.lua,即此次的測試,read、write都存在。測試的數據仍是4張表,每張表100萬數據。分別執行以下的List-八、List-9。
List-8
sysbench /usr/share/sysbench/oltp_read_write.lua --db-driver=mysql --table_size=1000000 --tables=4 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密碼 prepare
List-9
sysbench /usr/share/sysbench/oltp_read_write.lua --db-driver=mysql --table_size=1000000 --tables=4 --mysql-host=localhost --mysql-db=foo --mysql-user=root --mysql-password=密碼 run
執行List-9中的命令後,獲得以下圖
圖4
圖4中顯示:
"transactions: 2137 (213.64 per sec.)",與圖3對比,減小了385(595-213)。
"queries: 42740 (4272.71 per sec.)",與圖3對比,減小了5258(9530-4272)。
與圖3對比,圖4中SQL Statics部分,write的值再也不是0了。
注意:
也能夠看看這篇,這是Centos上安裝的,sysbench版本是1.1.0。