MySQL 基準測試詳解

一、前言

今天和我一個測試朋友聊了聊,測試人員主要負責:功能測試、功能測試、功能測試、安全測試

二、準備環境

  1. Sysbench:官方推薦的一款測試工具
  2. 安裝:yum install sysbench CentOs
    在這裏插入圖片描述
  3. 查找測試腳本路徑:Sysbench 自帶適合比較多的業務場境的測試腳本
    在這裏插入圖片描述
  4. 創建測試數據庫:sbtest
    create database sbtest;
    

三、基準測試

  1. 準備數據:本次測試使用的是 oltp 腳本,適用於大部分網站的業務場境

    sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua 
    --mysql-port=3306 
    --mysql-user=root 
    --mysql-password=posword 
    --oltp-test-mode=complex 
    -oltp-tables-count=10 
    --oltp-table-size=100000 
    --threads=10 
    --time=120 
    --report-interval=10 prepare
    

    注意修改相關的用戶名和密碼,使用此命令前需要先創建數據庫 sbtest
    在這裏插入圖片描述
    下圖是腳本自動生成的數據表文件信息,共 10 張數據表每張數據接近 10 萬行,具體可以根據自己的需求來調整腳本生成的數據量

    在這裏插入圖片描述

  2. 開始測試:

    sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua 
    --mysql-port=3306 
    --mysql-user=root
    --mysql-password=password 
    --oltp-test-mode=complex 
    --oltp-tables-count=10 
    --oltp-table-size=100000 
    --threads=10 
    --time=120
    --report-interval=10 run >> /data/mysysbench.log
    

    運行完成後會在 /data/ 目錄下生成一個文件。裏面就是本次測試的相關數據

  3. 清理測試環境

    sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua 
    --mysql-port=3306 
    --mysql-user=root
    --mysql-password=password cleanup
    
  4. 參數詳解
    在這裏插入圖片描述

四、測試結果

直接使用 cat 命令查看數據文件 下圖就是文件的相關內容
在這裏插入圖片描述

  • SQL statistics(SQL相關統計):

    字段 數據 解讀
    read 789138 120秒內進行了 789138 次讀請求
    wirte 225468 120秒內進行了 225468 次寫請求
    other 112734 120秒內進行除了讀寫操作 112734 次其它請求
    total 1127340 120秒內請求數的總和
    Transactions 56467 (468.64 per sec.) 56467 是總事務量 468.64 是每秒平均事務量
    queries 1127340 (9372.88 per sec.) 1127340 總查詢數 9372.88 平均每秒查詢數
    total time 120.2751s 本次測試使用的總時間爲 120 秒
    total number of events 56367 本次測試的事務量
  • Latency (ms):

    字段 數據 解讀
    min 3.21 最小響應請求使用的時間(毫秒)
    avg 21.31 平均請求響應時間(毫秒)
    max 200.70 最大請求響應時間(毫秒)
    99th percentile 29.72 99%的請求時間,最大爲 29.72 毫秒
    sum 1201432.58 合計等待請求響應的時間
  • Threads fairness:

    字段 數據 解讀
    events (avg/stddev) 5636.7000/17.43 平均每秒執行事件爲 5636 標準差爲 17.43
    execution time (avg/stddev) 120.1433/0.06 平均每個事件響應時間爲 120.1433 毫秒,標準差爲 0.06 毫秒
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章