import http from 'k6/http' /** * Many applications communicate with external APIs or microservices. * Latencies tend to be much higher than with databases in these cases. * We'll consider 10ms-150ms */ export const options = { stages: [ { duration: '20s', target: 150 }, { duration: '20s', target: 1000 }, { duration: '10s', target: 0 } ], thresholds: { http_req_failed: ['rate<0.01'] } } /* global __ENV */ export default function () { // 10-150ms latency const latency = Math.floor(Math.random() * 141) + 10 // 1-30000 work units const work = Math.ceil(Math.random() * 30000) // 1-40 output units const output = Math.ceil(Math.random() * 40) http.get(http.url`${__ENV.CADDY_HOSTNAME}/sleep.php?sleep=${latency}&work=${work}&output=${output}`) }