一、前言
今天和我一個測試朋友聊了聊,測試人員主要負責:功能測試、功能測試、功能測試、安全測試
二、準備環境
- Sysbench:官方推薦的一款測試工具
- 安裝:
yum install sysbench
CentOs
- 查找測試腳本路徑:Sysbench 自帶適合比較多的業務場境的測試腳本
- 創建測試數據庫:
sbtest
create database sbtest;
三、基準測試
-
準備數據:本次測試使用的是 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 萬行,具體可以根據自己的需求來調整腳本生成的數據量
-
開始測試:
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/ 目錄下生成一個文件。裏面就是本次測試的相關數據
-
清理測試環境
sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-port=3306 --mysql-user=root --mysql-password=password cleanup
-
參數詳解
四、測試結果
直接使用 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 毫秒