程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql性能測試--sysbench實踐,mysql--sysbench

mysql性能測試--sysbench實踐,mysql--sysbench

編輯:MySQL綜合教程

mysql性能測試--sysbench實踐,mysql--sysbench


Sysbench
 
  • 業界較為出名的性能測試工具
  • 可以測試磁盤,CPU,數據庫
  • 支持多種數據庫:oracle,DB2,MYSQL
  • 需要自己下載編譯安裝
  • 建議版本:sysbench0.5
  sysbench,不僅用來測試數據庫的性能,也可以測試運行數據庫的服務器的性能。   強烈建議熟悉sysbench測試,在mysql用戶的工具包中,這應該是最有用的工具之一。  
  • sysbench 的cpu基准測試
  • sysbench 的文件I/O基准測試
  • sysbench 的OLTP基准測試
  sysbench 其他的基准測試,但和數據庫性能沒有直接關系。
  • 內存-----測試內存的連續讀寫性能
  • 線程-----測試線程調度器的性能。
  • 互斥鎖---測試互斥鎖性能。
  • 順序寫---測試順序寫的性能。
  問題:
  • 表結構單一
  • 沒有相關約束和索引
  • 測試的SQL語句相對簡單
    使用方法
  1.下載sysbench  
git clone https://github.com/akopytov/sysbench
 
目錄結構
root@itcast01:/home/aiapple/sysbench# ls
autogen.sh  configure.ac  install-sh   missing        README-WIN.txt
ChangeLog   COPYING       m4           mkinstalldirs  sysbench
config      doc           Makefile.am  README.md      TODO
  2. 編譯&安裝  
./autogen.sh
./configure --prefix=/home/sysbench
make
make install

 

    3. sysbench流程
  • 初始化數據(prepare)
  • 運行測試(run)
  • 清理數據(cleanup)
  a)初始化數據prepare:  
sysbench --test=parallel_prepare.lua --oltp_tables_count=1 --rand-init=on --oltp-table-size=500000000 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=sys --mysql-password=netease --mysql-db=sbtest --max-requests=0 prepare
    sysbench表結構

 

  b)運行測試--run  
sysbench --test=oltp.lua --oltp_tables_count=1 --num-threads=100 --oltp-table-size=500000000 --oltp-read-only=off --report-interval=10 --rand-type=uniform --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=sys --mysql-password=netease --mysql-db=sbtest --max-time=1000 --max-requests=0 run

 

 

特殊情況
  • 寫入測試(純insert情況)
  數據解讀 運行數據 [10s]--------------運行時間點 Threads:100------100個線程數 tps:378.90---------每秒執行378.9個事務 reads:-------------讀請求數 writes:------------寫請求數 response time:--響應時間 errors:-------------錯誤個數 reconnects:-------重新連接個數   數據匯總 關注
  • 響應時間
  • tps

 

c)清理數據(cleanup)
  • 手動drop表和database
  • 使用sysbench提供的cleanup命令
  使用sysbench清理數據
sysbench --test=parallel_prepare.lua --oltp_tables_count=1 --rand-init=on --oltp-table-size=500000000 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=sys --mysql-password=netease --mysql-db=sbtest --max-requests=0 cleanup
 

 

 

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