天天看點

MYSQL基準測試

一為什麼需要基準測試

    唯一友善有效,可以學習系統在給定的工作負載下會發生什麼的方法。可以觀察系統在不同的壓力下的行為,評估系統的容量,掌握哪些是重要的變化,或者觀察系統如何處理不同的資料

二基準測試的政策

    兩種:針對整個系統的整體測試、單獨測試MYSQL

三測試何種名額

    1.吞吐量

        線上業務事務處理(OLTP)吞吐量,測試機關每秒事務數(TPS),每分鐘事務數(TPM)

    2.響應時間或者延遲

        根據不同的時間機關可以計算出平均響應時間,最小響時間,最大響應使勁和所占百分比

    3.并發性

       需要關注的是正在工作中的并發操作,或者同時工作中的線程數或連接配接數,當并發性增加時,需要測量吞吐量是否下降,響應使勁是否變長

    4.可擴充性

        給系統增加一倍的工作量,在理想條件下能獲得兩倍的結果。

 四基準測試時間

     讓測試一直運作,持續觀察直到确認系統已經穩定

五擷取系統性能和狀态

     CPU使用率、磁盤I/O、網絡流量統計、SHOW GLOBAL STATUS計數器等

四基準測試工具

    內建式測試工具:

     ab apache HTTP伺服器基準測試工具,隻能測試單個URL

     http_load 和ab類似,可以通過一個輸入檔案提供多個URL

     JMeter 可以加載其他應用并測試其性能,功能多,較複雜

     單元件測試工具

         mysqlslqp 可以模拟伺服器的負載,并輸出計時資訊。測試時,可以執行并發連接配接數,并指定SQL語句。

         mysql Benchmark suite(sql-bench)

         主要用于測試伺服器執行查詢的速度,單線程

         Super Smack

          用于Mysql和PostgreSQL的基準測試工具,可以提供壓力測試和負載生成。可以模拟多使用者通路

         Database Test Suite

         Percona'sTPCC-MySQL Tool 類似TPC-C基準測試工具集

         sysbench

         多線程系統壓測工具,可以根據影響資料庫伺服器性能的各種因素來評估系統的性能,可以測試檔案I/0、操作心态排程器、記憶體配置設定和傳輸速度、POSIX線程,以及資料庫伺服器等。

          支援Mysql、作業系統和硬體測試。

五基準測試案例

    sysbench

    sysbench的CPU基準測試:

    sysbench --test=cput --cpu-max-prime=20000 run

    sysbench的檔案I/O基準測試:

    先生成測試資料檔案,大小大于記憶體大小

     sysbench --test=fileio --file-total-size=150G prepare

     sysbench --tst=fileio --file-total-size=150G --file-test-mode=rndrw/ --init-rng=on --max-time=300 --max-requests=0 run

      seqwr順序寫入    seqewr順序重寫    seqrd順序讀取    rndrd随機讀取    rndwr随機寫入  rndrw混合随機讀/寫

      删除測試檔案

      sysbench --test=fileio --file-total-szie=150G cleanup

本文轉自 穿越防火牆 51CTO部落格,原文連結:http://blog.51cto.com/sjitwant/1932532