技術筆記 Blog

大數據、容器化、虛擬化、AI 與系統管理技術筆記

View on GitHub

Testing 測試工具

效能測試、負載測試和壓力測試相關工具。

📁 內容

Tsung

分散式多協議負載測試工具

🎯 測試類型

負載測試 (Load Testing)

測試系統在預期負載下的表現

壓力測試 (Stress Testing)

測試系統在極限負載下的表現

耐久測試 (Endurance Testing)

測試系統長時間運行的穩定性

🚀 Tsung 使用

基本配置

<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" version="1.0">
  <clients>
    <client host="localhost" use_controller_vm="true"/>
  </clients>

  <servers>
    <server host="your-server.com" port="80" type="tcp"/>
  </servers>

  <load>
    <arrivalphase phase="1" duration="1" unit="minute">
      <users maxnumber="100" arrivalrate="10" unit="second"/>
    </arrivalphase>
  </load>

  <sessions>
    <session name="http-example" probability="100" type="ts_http">
      <request>
        <http url='/' method='GET' version='1.1'/>
      </request>
    </session>
  </sessions>
</tsung>

執行測試

# 啟動測試
tsung -f config.xml start

# 查看即時狀態
tsung status

# 停止測試
tsung stop

# 生成報表
cd ~/.tsung/log/<timestamp>/
/usr/lib/tsung/bin/tsung_stats.pl

Docker 部署

# 建置映像
docker build -t tsung:latest tsung/

# 執行測試
docker run -v $(pwd)/config.xml:/usr/local/tsung/config.xml tsung:latest

📊 測試指標

效能指標

系統指標

🔧 支援協議

HTTP/HTTPS

WebSocket

MQTT

資料庫

📈 最佳實踐

測試規劃

  1. 定義測試目標
  2. 設計測試場景
  3. 準備測試資料
  4. 設定監控

測試執行

  1. 從小負載開始
  2. 逐步增加負載
  3. 監控系統指標
  4. 記錄異常情況

結果分析

  1. 分析效能指標
  2. 找出瓶頸
  3. 提出優化建議
  4. 驗證優化效果

📚 相關資源


測試保證品質