在Linux系統上,首先需要安裝Swagger CLI和Swagger UI,用于解析Swagger文檔和啟動文檔服務。
npm install -g swagger-jsdoc swagger-ui-express
npm install -g swagger-editor
Swagger性能測試的前提是有清晰的API規范文檔(Swagger JSON/YAML)??赏ㄟ^代碼注解自動生成:
@Api(tags = "用戶管理")
@RestController
@RequestMapping("/api/v1/users")
public class UserController {
@ApiOperation(value = "獲取用戶列表", notes = "分頁獲取用戶信息")
@GetMapping
public ResponseEntity<List<User>> getUsers(
@ApiParam(value = "頁碼", example = "1") @RequestParam int page,
@ApiParam(value = "每頁數量", example = "10") @RequestParam int size) {
// 業務邏輯
}
}
swagger generate spec -o ./swagger.json
將生成的Swagger文檔集成到Web服務中,方便通過瀏覽器訪問和測試:
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const swaggerDocument = require('./swagger.json');
const app = express();
// 掛載Swagger UI到/api-docs路徑
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
// 啟動服務
app.listen(3000, () => {
console.log('Swagger UI運行在 http://localhost:3000/api-docs');
});
http://localhost:3000/api-docs
,即可查看接口文檔。Swagger UI提供了簡單的交互式測試功能,可快速驗證接口響應時間:
若需評估API在高并發下的性能(如吞吐量、并發處理能力),需借助Linux下的專業工具:
ab -n 100 -c 10 http://localhost:3000/api/v1/users
參數說明:-n 100
表示總請求數,-c 10
表示并發數。siege -c 50 -t 30s http://localhost:3000/api/v1/users
參數說明:-c 50
表示并發數,-t 30s
表示測試時長。sysbench cpu --threads=4 run
若需實現持續集成(CI)中的性能測試,可將Swagger與自動化測試框架結合:
import requests
import pytest
# 從Swagger文檔中讀取接口URL
BASE_URL = "http://localhost:3000/api/v1/users"
@pytest.mark.performance
def test_get_users_response_time():
start_time = time.time()
response = requests.get(BASE_URL)
end_time = time.time()
# 斷言響應時間小于1秒
assert (end_time - start_time) < 1.0
assert response.status_code == 200
測試完成后,需分析結果并優化API性能:
top
、htop
、vmstat
等命令查看CPU、內存、磁盤IO的使用情況;通過以上步驟,可在Linux上利用Swagger完成API性能測試,從基礎驗證到系統級壓力測試,再到自動化和深度分析,全面保障API的性能和穩定性。