test: add loadtest
parent
796ce8154e
commit
a241c08fc3
3
Makefile
3
Makefile
|
|
@ -21,3 +21,6 @@ setup-development-environment: install-poetry $(PRE_COMMIT_HOOK)
|
|||
|
||||
test-smoke:
|
||||
k6 run tests/*.smoke.js
|
||||
|
||||
test-loadtest:
|
||||
k6 run tests/*.loadtest.js
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
import http from 'k6/http';
|
||||
import { check, group, sleep } from 'k6';
|
||||
|
||||
export const options = {
|
||||
stages: [
|
||||
{ duration: '5s', target: 10 }, // simulate ramp-up of traffic from 1 to 10 users over 30s.
|
||||
{ duration: '30s', target: 10 }, // stay at 10 users for 10 minutes
|
||||
{ duration: '5s', target: 0 }, // ramp-down to 0 users
|
||||
],
|
||||
thresholds: {
|
||||
'http_req_duration': ['p(99)<1000'], // 99% of requests must complete below 1000ms
|
||||
},
|
||||
};
|
||||
|
||||
export default () => {
|
||||
const payload = JSON.stringify({
|
||||
prompt: "def binarySearch(arr, left, right, x):\n mid = (left +",
|
||||
});
|
||||
const headers = { "Content-Type": "application/json" };
|
||||
const res = http.post("http://localhost:5000/v1/completions", payload, {
|
||||
headers,
|
||||
});
|
||||
check(res, { success: (r) => r.status === 200 });
|
||||
sleep(0.5);
|
||||
};
|
||||
Loading…
Reference in New Issue