程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 利用Sysbench0.5對MySQL進行壓測

利用Sysbench0.5對MySQL進行壓測

編輯:MySQL綜合教程

利用Sysbench0.5對MySQL進行壓測


1 下載sysbench-0.5.tar.gz

下載地址 http://download.csdn.net/download/rcbblgy/7578433

2 執行如下命令

tar xzvf sysbench-0.5.tar.gz
cd sysbench-0.5
chmod +x autogen.sh
./autogen.sh
./configure --with-mysql --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib
make
make install
3 查詢sysbench是否正確安裝 sysbench -v

 

4 常用的參數列表

--mysql-host=test.mysql.rds.aliyuncs.com #數據庫host

 

--mysql-port=3306 #數據庫端口 --mysql-user=your_username #數據庫用戶名 --mysql-password=your_password #數據庫密碼 --mysql-db=your_db_for_test #數據庫名 --oltp-tables-count=10 #模擬的表的個數,規格越高該值越大 --oltp-table-size=6000000 #模擬的每張表的行數,規格越高該值越大 --num-threads=50 #模擬的並發數量,規格越高該值越大 --max-requests=100000000 #最大請求次數 --max-time=20 #最大測試時間(與--max-requests只要有一個超過,則退出) --report-interval=1 #每1秒打印一次當前的QPS等值 --test=/tmp/sysbench-0.5/sysbench/tests/db/oltp.lua #選用的測試腳本(lua),此腳本可以從sysbench-0.5源代碼文件目錄下找 [prepare | run | cleanup] #prepare准備數據,run執行測試,cleanup清理數據
5 准備數據
[root@iZ254t8pd33Z ~]# sysbench --mysql-host=yongche1.mysql.rds.aliyuncs.com --mysql-port=3306 --mysql-user=jiangjianjian --mysql-password=pansino --mysql-db=yongche1 --oltp-tables-count=10 --oltp-table-size=6000000 --num-threads=50 --max-requests=100000000 --report-interval=1 --test=/root/sysbench-0.5/sysbench/tests/db/oltp.lua prepare

6 進行測試及結果分析
oltp進行壓測
[root@iZ254t8pd33Z ~]# sysbench --mysql-host=yongche1.mysql.rds.aliyuncs.com --mysql-port=3306 --mysql-user=jiangjianjian --mysql-password=pansino --mysql-db=yongche1 --oltp-tables-count=10 --oltp-table-size=6000000 --num-threads=50 --max-requests=100000000 --report-interval=1 --max-time=20 --test=/root/sysbench-0.5/sysbench/tests/db/oltp.lua run
\
\
分析壓測結果 TPS是平均每秒鐘事務提交次數,QPS表示每秒查詢次數(包括read和write) oltp 讀寫比大概5300:1500 \

純insert情況 [root@iZ254t8pd33Z ~]# sysbench --mysql-host=yongche1.mysql.rds.aliyuncs.com --mysql-port=3306 --mysql-user=jiangjianjian --mysql-password=pansino --mysql-db=yongche1 --oltp-tables-count=10 --oltp-table-size=6000000 --num-threads=50 --max-requests=100000000 --report-interval=1 --max-time=20 --test=/root/sysbench-0.5/sysbench/tests/db/insert.lua run
\
\

\

結果分析:每秒寫入大概是4000條


內存測試 sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=memory --memory-block-size=8192 --memory-total-size=4G run
\

傳輸4G內容,每個block 8k,速度大概每秒6093M


磁盤IO測試 sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run
\
指定了最大創建16個線程,創建的文檔總大小為3G,文檔讀寫模式為隨機讀,磁盤隨機讀寫速度大概為38M/s
CPU測試 sysbench --test=cpu --num-threads=32 --cpu-max-prime=90000 run
\

32個線程,尋找90000以內的最大素數花了80s


PS 硬件條件 阿裡雲RDS 內存大小: 24000M 最大IOPS: 12000
數據庫類型:MySQL5.6 最大連接數:2000



 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved