New posts

This commit is contained in:
2026-11-06 21:43:41 +05:30
parent 11782a7ec3
commit c92977b23d
38 changed files with 2006 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
// k6 equivalent of FailingAssertionSimulation: 220 requests/s against ~160/s of capacity,
// with thresholds that cannot hold. k6 exits with code 99 when a threshold fails.
import http from 'k6/http';
import { SharedArray } from 'k6/data';
const BASE = __ENV.APP_URL || 'http://localhost:18300';
const symbols = new SharedArray('symbols', () =>
open('../src/test/resources/data/symbols.csv').trim().split('\n').slice(1));
http.setResponseCallback(http.expectedStatuses(200));
export const options = {
scenarios: {
overload: {
executor: 'constant-arrival-rate',
rate: 220,
timeUnit: '1s',
duration: '15s',
preAllocatedVUs: 200,
maxVUs: 1000,
},
},
thresholds: {
http_req_duration: ['p(95)<200'],
http_req_failed: ['rate<0.01'],
},
};
export default function () {
http.get(`${BASE}/api/quote/${symbols[Math.floor(Math.random() * symbols.length)]}`);
}