Check | global-rt-1 | global-rt-2 | per-req-rt-1 | per-worker-rt-1 | per-worker-rt-2 |
---|---|---|---|---|---|
Docker image size (MB) | 83.8 | 83.8 | 83.7 | 83.7 | 83.7 |
Does not start with invalid ES address | Good, exited in 0.4s | Good, exited in 0.4s | Good, exited in 0.4s | Good, exited in 0.5s | Good, exited in 0.4s |
Does not start without env variables | Good, exited in 0.3s | Good, exited in 0.4s | Good, exited in 0.4s | Good, exited in 0.8s | Good, exited in 0.4s |
HTTP GET / returns 200 or 404 | Good | Good | Good | Good | Good |
HTTP GET /api-docs returns OpenAPI (Swagger) JSON docs | Good | Good | Good | Good | Good |
HTTP GET /city/v1/associatedFeatured?id=101748063&language=cs (Graz) returns 200 and Bratislava | Good | Good | Good | Good | Good |
HTTP GET /city/v1/associatedFeatured?id=101748113&language=pl (Praha) returns 200 and Praha itself | Good | Good | Good | Good | Good |
HTTP GET /city/v1/associatedFeatured?id=123456&language=en (invalid id) returns 404 | Good | Good | Good | Good | Good |
HTTP GET /city/v1/closest returns 400 | Good | Good | Good | Good | Good |
HTTP GET /city/v1/closest?language=cs&lat=-90.3&lon=14 returns 400 | Good | Good | Good | Good | Good |
HTTP GET /city/v1/closest?language=cs&lat=49.84&lon=12.92 returns 200 Kozolupy | Good | Good | Good | Good | Good |
HTTP GET /city/v1/closest?language=cs&lat=50 returns 400 | Good | Good | Good | Good | Good |
HTTP GET /city/v1/closest?language=cs&lat=50&lon=192 returns 400 | Good | Good | Good | Good | Good |
HTTP GET /city/v1/closest?language=cs&lon=14 returns 400 | Good | Good | Good | Good | Good |
HTTP GET /city/v1/closest?language=de + 50,14 Fastly headers returns 200 Praha | Good | Good | Good | Good | Good |
HTTP GET /city/v1/closest?language=de returns 200 Berlin (lang fallback) | Good | Good | Good | Good | Good |
HTTP GET /city/v1/closest?language=pl + 0,0 Fastly headers returns 200 Warszava (lang fallback) | Good | Good | Good | Good | Good |
HTTP GET /city/v1/closest?language=pl&lat=50.107&lon=14.574 returns 200 Praha (even tho Hostavice are closer) | Good | Good | Good | Good | Good |
HTTP GET /city/v1/featured returns 400 with error JSON with message | Good | Good | Good | Good | Good |
HTTP GET /city/v1/featured?language=cs returns 200 and correct list of cities | Good | Good | Good | Good | Good |
HTTP GET /city/v1/featured?language=invalid returns 400 with error JSON with message | Good | Good | Good | Good | Good |
HTTP GET /city/v1/featured?language=sk returns 200 and correct list of cities | Good | Good | Good | Good | Good |
HTTP GET /city/v1/get returns 400 with error JSON with message | Good | Good | Good | Good | Good |
HTTP GET /city/v1/get?id=101748063&language=cs&extra=paramShouldBeIgnored returns 200 and correct object | Good | Good | Good | Good | Good |
HTTP GET /city/v1/get?id=101748109&language=de returns 200 and correct object | Good | Good | Good | Good | Good |
HTTP GET /city/v1/get?id=101748111&language=cs returns 200 and correct object | Good | Good | Good | Good | Good |
HTTP GET /city/v1/get?id=101748113&language=cs returns 200 and correct object | Good | Good | Good | Good | Good |
HTTP GET /city/v1/get?id=123 returns 400 with error JSON with message | Good | Good | Good | Good | Good |
HTTP GET /city/v1/get?id=123&language=cs returns 404 (this does not exist) with error JSON with message | Good | Good | Good | Good | Good |
HTTP GET /city/v1/get?id=blabla&language=cs returns 400 with error JSON with message | Good | Good | Good | Good | Good |
HTTP GET /city/v1/get?language=cs returns 400 with error JSON with message | Good | Good | Good | Good | Good |
HTTP GET /city/v1/search?language=cs&query=kremze returns 200 and AT city first | Good | Good | Good | Good | Good |
HTTP GET /city/v1/search?language=cs&query=křemže returns 200 and CZ city first | Good | Good | Good | Good | Good |
HTTP GET /city/v1/search?language=cs&query=křemže&countryIso=at returns 200 and AT city only | Good | Good | Good | Good | Good |
HTTP GET /city/v1/search?language=de&query=Brno returns 200 and just Brünn | Good | Good | Good | Good | Good |
HTTP GET /fnhjkdniudsancyne returns 404 | Good | Good | Good | Good | Good |
Service logs a message containing 8080 (used port) on startup | Good | Good | Good | Good | Good |
Service logs every request, message contains url path | Good | Good | Good | Good | Good |
Startup time (to start responding) secs | 0.00177 | 0.00199 | 0.00195 | 0.00236 | 0.00275 |
Stops gracefully | Good, in 0.9s | Good, in 1.3s | Good, in 0.8s | Good, in 0.8s | Good, in 0.9s |
Threads with 1 online vCPU, 1.0 soft CPU limit | dumb-init 34✕locations-rs-ro, 2✕tokio-runtime-w |
dumb-init 34✕locations-rs-ro, 2✕tokio-runtime-w |
dumb-init 18✕locations-rs-ro |
dumb-init 18✕locations-rs-ro |
dumb-init 18✕locations-rs-ro |
Threads with 4 online vCPUs, 1.5 soft CPU limit (benchmarked) | dumb-init 34✕locations-rs-ro, 3✕tokio-runtime-w |
dumb-init 34✕locations-rs-ro, 3✕tokio-runtime-w |
dumb-init 18✕locations-rs-ro |
dumb-init 18✕locations-rs-ro |
dumb-init 18✕locations-rs-ro |
Threads with 4 online vCPUs, 4.0 soft CPU limit | dumb-init 34✕locations-rs-ro, 5✕tokio-runtime-w |
dumb-init 34✕locations-rs-ro, 5✕tokio-runtime-w |
dumb-init 18✕locations-rs-ro |
dumb-init 18✕locations-rs-ro |
dumb-init 18✕locations-rs-ro |
The graphs are interactive, view the rendered HTML locally to enjoy it.