Mysql-Sysbench效能測試

來源:互聯網
上載者:User

標籤:har   多次   libtool   多線程   general   選項   cts   5.4   準備   

MySql效能測試工具-sysbench

sysbench簡介
sysbench是跨平台的基準測試載入器,支援多線程,支援多種資料庫;主要包括以下幾種測試:
cpu效能
磁碟io效能
發送器效能
記憶體配置及傳輸速度
POSIX線程效能
資料庫效能(OLTP基準測試)
本文主要介紹對資料庫效能的測試。

  1. 下載安裝包,地址 https://github.com/akopytov/sysbench

#wget https://github.com/akopytov/sysbench/archive/1.0.zip -O "sysbench-1.0.zip"

#unzip sysbench-1.0.zip

#cd sysbench-1.0

  1. 安裝依賴庫

#yum install automake libtool -y

3.開始安裝

#./autogen.sh

#./configure

  1. 如果是yum安裝的mysql,不知道路徑在哪裡。想尋找mysql的安裝路徑需要安裝mysql-devel,才能使用mysql_config

#yum install -y mysql-devel

  1. 執行./configure

#./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib64/mysql

#make&&make install

  1. 添加變數:

#export LD_LIBRARY_PATH=/usr/local/mysql/lib/

#sysbench --help

#sysbench --version
sysbench 1.0.12 (using bundled LuaJIT 2.1.0-beta2)

在執行sysbench時,應該注意:
(1)盡量不要在MySQL伺服器啟動並執行機器上進行測試,一方面可能無法體現網路(哪怕是區域網路)的影響,另一方面,sysbench的運行(尤其是設定的並發數較高時)會影響MySQL伺服器的表現。
(2)可以逐步增加用戶端的並發串連數(--thread參數),觀察在串連數不同情況下,MySQL伺服器的表現;如分別設定為10,20,50,100等。
(3)一般執行模式選擇complex即可,如果需要特別測試伺服器唯讀效能,或不使用事務時的效能,可以選擇simple模式或nontrx模式。
(4)如果連續進行多次測試,注意確保之前測試的資料已經被清理乾淨。

(1)準備資料

mysql>create database sbtest;

sysbench --test=/usr/local/share/sysbench/tests/include/oltp_legacy/oltp.lua --oltp-table-size=1000000 --mysql-user=root --mysql-password=‘123456‘ --mysql-socket=/usr/local/mysql/mysql.sock prepare

(2)執行測試
sysbench --test=/usr/local/share/sysbench/tests/include/oltp_legacy/oltp.lua --oltp-table-size=1000000 --mysql-user=root --mysql-password=‘123456‘ --mysql-socket=/usr/local/mysql/mysql.sock --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run

(3)清理資料
sysbench --test=/usr/local/share/sysbench/tests/include/oltp_legacy/oltp.lua --oltp-table-size=1000000 --mysql-user=root --mysql-password=‘123456‘ --mysql-socket=/usr/local/mysql/mysql.sock cleanup

SQL statistics:
queries performed:
read: 313488 --讀總數
write: 89568 --寫總數
other: 44784 --其他動作(CURD之外的操作,例如COMMIT)
total: 447840 --全部總數
transactions: 22392 (186.27 per sec.) --總事務數(每秒事務數)
queries: 447840 (3725.43 per sec.) --總數(每秒總數)
ignored errors: 0 (0.00 per sec.) --總忽略錯誤總數(每秒忽略次數)
reconnects: 0 (0.00 per sec.) --重連總數(每秒重連次數)
General statistics:
total time: 120.2098s --總耗時
total number of events: 22392 --共發生多少事務數
Latency (ms):
min: 105.91 --最小耗時
avg: 160.86 --平均耗時
max: 850.77 --最長耗時
95th percentile: 223.34 --超過95%平均耗時
sum: 3601892.56
Threads fairness:
events (avg/stddev): 746.4000/4.95 --總處理事件數目/標準差
execution time (avg/stddev): 120.0631/0.05--總執行時間/標準差

對CPU的效能測試通常有:1.質數計算;2圓周率計算;sysbench使用的就是通過質數相加的測試。對CPU測試直接運行run即可。
sysbench --threads=20 --events=10000 --debug=on --test=cpu --cpu-max-prime=20000 run
20個線程執行1萬條請求,每個請求執行質數相加到20000

記憶體測試

測試8K順序分配:
sysbench --threads=12 --events=10000 --test=memory --memory-block-size=8K --memory-total-size=100G --memory-access-mode=seq run
測試8K隨機分配。
sysbench --threads=12 --events=10000 --test=memory --memory-block-size=8K --memory-total-size=100G --memory-access-mode=rnd run

檔案io測試

IO的測試主要用於測試IO的負載效能。主要測試選項為--file-test-mode。還有可以關注的參數包括--file-block-size、--file-io-mode、--file-fsync-freq 、--file-rw-ratio,具體參數含義請見參數解釋章節。
sysbench --threads=12 --events=10000 fileio --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --threads=12 --events=10000 fileio --file-total-size=3G --file-test-mode=rndrw run
sysbench --threads=12 --events=10000 fileio --file-total-size=3G --file-test-mode=rndrw cleanup
對比兩台伺服器的io效能,需要跑相同的線程

鎖測試

互斥鎖測試類比所有線程在同一時刻並發運行。
sysbench --threads=12 mutex --mutex-num=1024 --mutex-locks=10000 --mutex-loops=10000 run

線程測試

sysbench threads --num-threads=64 --thread-yields=100 --thread-locks=2 run

Mysql-Sysbench效能測試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.