mirror of
https://github.com/ZeroCatDev/ClassworksKV.git
synced 2025-07-01 20:09:23 +00:00
1.9 KiB
1.9 KiB
接口限速测试脚本
这个目录包含了用于测试API接口限速功能的脚本。
前置条件
在运行测试脚本之前,请确保安装了所需的依赖:
npm install axios
可用测试脚本
1. 功能测试 (test-rate-limit.js)
测试不同类型的限速功能是否正常工作,包括全局限速、API限速、写操作限速和删除操作限速。
npm run test:rate-limit
# 或直接运行
node scripts/test-rate-limit.js
2. 压力测试 (stress-test.js)
对指定端点进行高并发请求,测试限速在高负载下的表现。
npm run test:stress
# 或直接运行
node scripts/stress-test.js
3. 分布式测试 (distributed-test.js)
模拟多个不同IP地址的请求,测试基于IP的限速是否有效。
npm run test:distributed
# 或直接运行
node scripts/distributed-test.js
4. 运行所有测试 (run-all-tests.js)
按顺序运行所有测试,并在测试之间添加适当的延迟以重置限速计数器。
npm run test:all-limits
# 或直接运行
node scripts/run-all-tests.js
配置测试参数
每个测试脚本的开头都有配置参数,可以根据需要进行调整:
BASE_URL
: API服务器的基础URL(默认为 http://localhost:3000)CONCURRENT_REQUESTS
: 并发请求数(仅适用于压力测试)TOTAL_REQUESTS
: 总请求数SIMULATED_IPS
: 模拟的IP数量(仅适用于分布式测试)REQUESTS_PER_IP
: 每个IP的请求数(仅适用于分布式测试)TEST_ENDPOINT
: 测试的API端点
测试结果说明
测试脚本会输出彩色的测试进度和结果统计信息:
- 绿色点(
.
): 成功的请求 - 黄色L(
L
): 被限速的请求 - 红色E(
E
): 错误的请求 - 红色X(
X
): 请求异常
测试完成后,会显示总体统计信息,包括总请求数、成功请求数、被限速请求数、错误请求数和限速比例。