之前介紹了相關mysql的性能參數調優,這些天利用基準測試工具對mysql的測試,Jason留下點Memory。
Mysql數據庫本身提供了比較優秀的性能測試工具,這里另外介紹下sysbench。
Sysbench 主要的測試方法有:
CPU性能
磁盤IO性能
調度程序性能
內存分配及傳輸速度
POSIX線程性能
數據庫OLTP性能測試
其中數據庫OLTP性能測試支持Mysql,PostgreSQL和ORACLE.sysbench主要應用于Linux.
對于InnoDB存儲引擎的數據庫應用來說,我們更關心的是磁盤和OLTP性能,所以sysbench提供了相應的測試選項:
IO性能測試的fileio選項,包括prepare,run和clean三個階段。
sysbench –test=fileio –file-num=16 –file-total-size=2G prepare
上面的命令產生了16個文件總大小2GB
sysbench –test=fileio –file-total-size=2G –file-test-mode=rndrd –max-time=180–max-requests=100000000 –num-threads=16 –init-rng=on –file-num=16 –file-extra-flags=direct –file-fsybc-freq=0 –file-block-size=16384 run
在結果中我們關注的是讀取性能和IOPS值。
對于OLTP性能來說和上面的步驟一樣,首先prepare,
sysbench –test=oltp –oltp-table-size=80000000 –db-driver=mysql –mysql-socket=/tmp/mysql.sock –mysql-user=root prepare
之后開始測試:
sysbench –test=oltp –oltp-table-size=80000000 –oltp-read-only=off –init-rng=on –num-threads=16 –max-requests=0 –oltp-dist-type=uniform –max-time=3600 –mysql-user=root –db-driver=mysql –mysql-socket=/tmp/mysql.sock run > log.log
我們關注的transactions的總數及TPS。
比較重要的參數:
–file-test-mode: 文件測試順序,seqwr(順序寫),seqrewr(順序讀寫),seqrd(順序讀),rndrd(隨機讀),rndwr(隨機寫)和rndrw(隨機讀寫)
–file-rw-ratio : 測試時的讀寫比例。
這樣我們就能更好的優化我們的mysql數據庫了。原文轉自:http://www.anti-gravitydesign.com