The demo pet shop of OctoPerf. Each mode runs the same shop
with one failure, under its own path: test a mode, then test fixed with the same
script.
| Mode | What it breaks | HTML | Single-page |
|---|---|---|---|
| fixed | Every failure fixed. | /fixed/ | /fixed/app/ |
| slow-pool | A connection pool too small, held during slow work. | /slow-pool/ | /slow-pool/app/ |
| slow-search | A search that slows down with the volume of orders. | /slow-search/ | /slow-search/app/ |
| checkout-contention | Checkouts waiting on a shared stock row. | /checkout-contention/ | /checkout-contention/app/ |
| slow-payment | A payment provider called without timeout. | /slow-payment/ | /slow-payment/app/ |
| rate-limit | A rate limit far too strict. | /rate-limit/ | /rate-limit/app/ |
| memory-leak | A journal of every request kept in memory, never trimmed. | /memory-leak/ | /memory-leak/app/ |
| server-errors | A product page that fails when the reviews do. | /server-errors/ | /server-errors/app/ |
| heavy-pages | Heavy images and a layout that shifts. | /heavy-pages/ | /heavy-pages/app/ |
| script-errors | A product page of the SPA that fails without its rating. | /script-errors/ | /script-errors/app/ |
| broken | Every failure, now and then. | /broken/ | /broken/app/ |
This instance serves at most 100 requests at once per mode, and 200 in all: past that, it answers 503 at once and asks to retry a second later. Size a test under it.
Admin: reset the database, see what the tests left.