Linux下Swagger性能测试与优化
一 明确测试范围与准备
sudo apt update && sudo apt install -y curl wget git sysstatsudo apt install -y nodejs npm && npm install -g @swagger-api/swagger-ui二 性能测试方法
| 工具 | 适用场景 | 关键要点 |
|---|---|---|
| ab | 快速单接口基线 | 统计RPS、平均响应时间、分位响应时间 |
| siege | 多URL、简单场景 | 支持URL列表、可设并发与时长 |
| JMeter | 复杂流程与报告 | 线程组、定时器、断言、聚合报告/图形 |
| Gatling | 高并发、脚本化 | 基于Scala,报告详尽 |
| k6 | 轻量、CI/CD集成 | JavaScript脚本,易于自动化 |
ab -n 1000 -c 100 http://your-server-ip/api/usersimport http from 'k6/http';
import { check } from 'k6';
export default function () {
let res = http.get('http://your-server-ip/api/users');
check(res, { 'status is 200': r => r.status === 200 });
}
运行:k6 run --vus 100 --duration 30s test.js三 性能优化要点
fs.file-max)、开启TCP重用(net.ipv4.tcp_tw_reuse=1)等,减少连接瓶颈。expires 1h;),降低文档页加载时间。-Xms 与 -Xmx 等值,避免频繁GC与溢出。四 监控与持续优化
top/htop、vmstat、iostat 观察CPU/内存/IO压力。journalctl 或 ELK(Elasticsearch+Logstash+Kibana)聚合异常与慢请求。