Files
novalon-manage-system/performance_tests/health_stress_test.js
T
张翔 c50ccd258f feat: 重构测试框架并优化代码结构
refactor(tests): 将e2e_tests迁移到tests_suite和api_integration_tests
style: 为Java类添加文档注释
docs: 更新.gitignore和配置文件
test: 添加性能测试和Playwright测试脚本
chore: 清理旧测试文件和配置
2026-03-14 13:49:39 +08:00

57 lines
1.5 KiB
JavaScript

import http from 'k6/http';
import { check, sleep } from 'k6';
const BASE_URL = __ENV.BASE_URL || 'http://localhost:8080';
export let options = {
scenarios: {
baseline: {
executor: 'constant-vus',
vus: 10,
duration: '30s',
startTime: '0s',
},
stress_test: {
executor: 'ramping-vus',
startVUs: 10,
stages: [
{ duration: '1m', target: 50 },
{ duration: '2m', target: 100 },
{ duration: '1m', target: 50 },
{ duration: '1m', target: 10 }
],
startTime: '0s',
},
spike_test: {
executor: 'ramping-vus',
startVUs: 10,
stages: [
{ duration: '30s', target: 10 },
{ duration: '10s', target: 200 },
{ duration: '30s', target: 10 }
],
startTime: '0s',
},
},
thresholds: {
http_req_duration: ['p(95)<500'],
http_req_failed: ['rate<0.05'],
},
};
export default function () {
let response = http.get(`${BASE_URL}/actuator/health`);
check(response, {
'status is 200': (r) => r.status === 200,
'response time < 500ms': (r) => r.timings.duration < 500,
'has UP status': (r) => r.json('status') === 'UP',
});
sleep(1);
}
export function teardown() {
console.log('Performance test completed');
}