天天看點

測試MySQL性能的幾款工具

 mysqlslap

  mysqlslap可以模拟伺服器的負載,并輸出計時資訊。它包含在MySQL 5.1 的發行包中,應該在MySQL 4.1或者更新的版本中都可以使用。測試時可以執行并發連接配接數,并指定SQL 語句(可以在指令行上執行,也可以把SQL 語句寫入到參數檔案中)。如果沒有指定SQL 語句,mysqlslap 會自動生成查詢schema 的SELECT 語句。

  MySQL Benchmark Suite (sql-bench)

  在MySQL 的發行包中也提供了一款自己的基準測試套件,可以用于在不同資料庫伺服器上進行比較測試。它是單線程的,主要用于測試伺服器執行查詢的速度。結果會顯示哪種類型的操作在伺服器上執行得更快。

  這個測試套件的主要好處是包含了大量預定義的測試,容易使用,是以可以很輕松地用于比較不同存儲引擎或者不同配置的性能測試。其也可以用于高層次測試,比較兩個伺服器的總體性能。當然也可以隻執行預定義測試的子集(例如隻測試UPDATE 的性能)。這些測試大部分是CPU 密集型的,但也有些短時間的測試需要大量的磁盤I/O 操作。

  這個套件的最大缺點主要有:它是單使用者模式的,測試的資料集很小且使用者無法使用指定的資料,并且同一個測試多次運作的結果可能會相差很大。因為是單線程且串行執行的,是以無法測試多CPU 的能力,隻能用于比較單CPU 伺服器的性能差别。使用這個套件測試資料庫伺服器還需要Perl 和BDB 的支援,相關文檔請參考.

  Super Smack

  Super Smack是一款用于MySQL 和PostgreSQL的基準測試工具,可以提供壓力測試和負載生成。這是一個複雜而強大的工具,可以模拟多使用者通路,可以加載測試資料到資料庫,并支援使用随機資料填充測試表。測試定義在"smack"檔案中,smack 檔案使用一種簡單的文法定義測試的用戶端、表、查詢等測試要素。

  Database Test Suite

  Database Test Suite 是由開源軟體開發實驗室(OSDL,Open Source DevelopmentLabs)設計的,釋出在SourceForge 網站上,這是一款類似某些工業标準測試的測試工具集,例如由事務處理性能委員會(TPC,Transaction Processing Performance Council)制定的各種标準。特别值得一提的是,其中的dbt2 就是一款免費的TPC-C OLTP 測試工具(未認證)。之前本書作者經常使用該工具,不過現在已經使用自己研發的專用于MySQL 的測試工具替代了。

  Percona's TPCC-MySQL Tool

  我們開發了一個類似TPC-C 的基準測試工具集,其中有部分是專門為MySQL 測試開發的。在評估大壓力下MySQL 的一些行為時,我們經常會利用這個工具進行測試(簡單的測試,一般會采用sysbench 替代),在源碼庫中有一個簡單的文檔說明。

  sysbench

  sysbench是一款多線程系統壓測工具。它可以根據影響資料庫伺服器性能的各種因素來評估系統的性能。例如,可以用來測試檔案I/O、作業系統排程器、記憶體配置設定和傳輸速度、POSIX 線程,以及資料庫伺服器等。sysbench 支援Lua 腳本語言,Lua 對于各種測試場景的設定可以非常靈活。sysbench 是我們非常喜歡的一種全能測試工具,支援MySQL、作業系統和硬體的硬體測試。(節選自《高性能MySQL》)

本文轉自 guowang327 51CTO部落格,原文連結:http://blog.51cto.com/guowang327/1758349,如需轉載請自行聯系原作者