1234567891011121314151617181920212223242526272829303132 |
- import http from 'k6/http'
- /**
- * Databases or external resources can sometimes become unavailable for short periods of time.
- * Make sure the server can recover quickly from periods of unavailability.
- * This simulation swaps between a hanging and a working server every 10 seconds.
- */
- export const options = {
- stages: [
- { duration: '20s', target: 100 },
- { duration: '20s', target: 500 },
- { duration: '20s', target: 0 }
- ],
- thresholds: {
- http_req_failed: ['rate<0.01']
- }
- }
- /* global __ENV */
- export default function () {
- const tenSecondInterval = Math.floor(new Date().getSeconds() / 10)
- const shouldHang = tenSecondInterval % 2 === 0
- // every 10 seconds requests lead to a max_execution-timeout
- if (shouldHang) {
- http.get(`${__ENV.CADDY_HOSTNAME}/sleep.php?sleep=50000`)
- return
- }
- // every other 10 seconds the resource is back
- http.get(`${__ENV.CADDY_HOSTNAME}/sleep.php?sleep=5&work=30000&output=100`)
- }
|