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

MySQL基准測試---sysbench

編輯:MySQL綜合教程

MySQL基准測試---sysbench   一、 在對網站整體性能進行benchmark時,可以使用多種工具,比如大名鼎鼎的ab
(Apache bench),http_load等工具。這裡我們不關注他們的使用,如果你想了解,可以去
這裡http://en.wikipedia.org/wiki/ApacheBench。   www.2cto.com     重點來說MySQL的基准測試如何進行,也有很多種工具來供我們選擇,比如mysqlslap、
sysbench、Super Smack等,其中mysqlslap的使用MySQL官網給出了介紹,Super Smack
是服務器壓力測試強有力的工具,那麼sysbench便是我們進行MySQL基准測試的很漂亮的工具了。     sysbench是一款開源的多線程性能測試工具,可以執行CPU/內存/線程/IO/數據庫等方面的
性能測試。數據庫目前支持MySQL/Oracle/PostgreSQL;     在本次試驗中,sysbench版本為:0.4.12 MySQL版本為:5.1.61 ubuntu版本為:10.10     sysbench的基本用法通過 man sysbench 或者 sysbench --help可以方便的看到:     sysbench [general-options]... --test=<test-name> [test-options] ... command     general-options 暫且不說,test-name 包括fileio/cpu/memory/threads/mutex/oltp 等測試,
command包括prepare/run/cleanup/help/version等     (1)cpu測試     sysbench采用尋找最大素數的方式來測試:命令如下     root@ubuntu:~#sysbench --test=cpu --cpu-max-prime=1500 run        從total time: 一行可以看出在求得1500以內的最大素數時使用了3.2214s     (2)fileio測試     使用fileio測試,首先得生成文件,然後對文件或讀或寫,測試fileio性能     生成文件:sysbench --test=fileio prepare ,使用fileio命令時,會有很多參數,可以使用
--file-block-size指定單個文件大小,可以使用--file-total-size指定整個文件的大小,但是這裡
使用默認參數,單個文件大小為16M,整個文件大小為2G。如下所示:        這裡總共生成了128個文件。讀寫文件sysbench --test=fileio --file-test-mode=rndrw run,
如下所示:      在這份報告中,有兩個參數很值得我們關注,即每秒的請求數和總體的吞吐量,比如上面的就
是785.16 Requests/sec 和12.268Mb/sec,這兩個參數對於評估磁盤的性能很有幫助。在完成測
試後,需要將測試數據刪除: sysbench --test=fileio cleanup     (3)oltp 測試     首先生成數據:sysbench --test=oltp --oltp-table-size=2000000 --oltp-table-name=tt -
-mysql-db=test --mysql-user=root --msyql-password=123 prepare ,這裡測試用戶名:root
密碼:123   生成數據後,進行測試,使用8個線程進行測試,如下所示:     以上數據對於分析多線程事務處理很有幫助,比如事務總統計數,每秒事務的處理量等等,     sysbench對於其他的測試類似。。。     二、對於MySQL的性能分析,在服務器內部有很多很好的命令來供我們使用,比如
show status/show processlist/show innodb status   使用show status 中,“Select%”一般指不同類型的連接執行計劃,“Handler%”一般指存儲引
擎的相關信息,“Sort%”一般指排序的相關信息,“Created%”一般指新建臨時表的相關信息。
一般也可以使用mysqlreport對信息進行統計打印。而show processlist 也打印出了相關參數,
此時可以使用Innotop代替進行方便分析,或者使用mytop來分析。如果是在回話中使用,則需要
添加session 參數,即show session status; 使用show processlist 可以定位到mysql連接和進
程故障,這一功能一般需要和prep netstat psof ps等聯合使用。使用tcpdump工具可以抓包分析
流量。innotop 和tcpdump的強大功能以後再分析。  

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