Initial commit
This commit is contained in:
52
skills/skill-adapter/assets/k6_template.js
Normal file
52
skills/skill-adapter/assets/k6_template.js
Normal file
@@ -0,0 +1,52 @@
|
||||
// k6 load test script template
|
||||
|
||||
import http from 'k6/http';
|
||||
import { check, sleep } from 'k6';
|
||||
|
||||
// Configuration options
|
||||
export const options = {
|
||||
stages: [
|
||||
{ duration: '10s', target: 10 }, // Ramp up to 10 virtual users (VUs) over 10 seconds
|
||||
{ duration: '30s', target: 10 }, // Stay at 10 VUs for 30 seconds
|
||||
{ duration: '10s', target: 0 }, // Ramp down to 0 VUs over 10 seconds
|
||||
],
|
||||
thresholds: {
|
||||
http_req_duration: ['p95<500'], // 95% of requests must complete below 500ms
|
||||
http_req_failed: ['rate<0.01'], // Error rate must be less than 1%
|
||||
},
|
||||
};
|
||||
|
||||
// Virtual User (VU) function
|
||||
export default function () {
|
||||
// Replace with your API endpoint
|
||||
const url = 'YOUR_API_ENDPOINT';
|
||||
|
||||
// Replace with your request body (if needed)
|
||||
const payload = JSON.stringify({
|
||||
key1: 'value1',
|
||||
key2: 'value2',
|
||||
});
|
||||
|
||||
// Replace with your request headers (if needed)
|
||||
const params = {
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
};
|
||||
|
||||
// Make the HTTP request
|
||||
const res = http.post(url, payload, params);
|
||||
|
||||
// Check the response status code
|
||||
check(res, {
|
||||
'is status 200': (r) => r.status === 200,
|
||||
});
|
||||
|
||||
// Add more checks as needed (e.g., response body validation)
|
||||
// check(res, {
|
||||
// 'verify response': (r) => r.body.includes('expected_value'),
|
||||
// });
|
||||
|
||||
// Sleep for a short duration between requests (adjust as needed)
|
||||
sleep(1);
|
||||
}
|
||||
Reference in New Issue
Block a user