Benchmark of 8-wrkrs-1, 12-wrkrs-1, 16-wrkrs-1, 16-wrkrs-2, 32-wrkrs-1, 32-wrkrs-2, 64-wrkrs-1, 64-wrkrs-2, 128-wrkrs-1, 128-wrkrs-2, 256-wrkrs-1, 256-wrkrs-2

General Info & Checks

Check 8-wrkrs-1 12-wrkrs-1 16-wrkrs-1 16-wrkrs-2 32-wrkrs-1 32-wrkrs-2 64-wrkrs-1 64-wrkrs-2 128-wrkrs-1 128-wrkrs-2 256-wrkrs-1 256-wrkrs-2
Docker image size (MB) 83.7 83.7 83.7 83.7 83.7 83.7 83.7 83.7 83.7 83.7 83.7 83.7
Does not start with invalid ES address Good, exited in 0.5s Good, exited in 0.4s Good, exited in 0.5s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s
Does not start without env variables Good, exited in 0.7s Good, exited in 0.4s Good, exited in 0.8s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s Good, exited in 0.4s
HTTP GET / returns 200 or 404 Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /api-docs returns OpenAPI (Swagger) JSON docs Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/associatedFeatured?id=101748063&language=cs (Graz) returns 200 and Bratislava Good Good Good Good Good Good Good 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 Good Good Good Good Good Good Good
HTTP GET /city/v1/associatedFeatured?id=123456&language=en (invalid id) returns 404 Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/closest returns 400 Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/closest?language=cs&lat=-90.3&lon=14 returns 400 Good Good Good Good Good Good Good 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 Good Good Good Good Good Good Good
HTTP GET /city/v1/closest?language=cs&lat=50 returns 400 Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/closest?language=cs&lat=50&lon=192 returns 400 Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/closest?language=cs&lon=14 returns 400 Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/closest?language=de + 50,14 Fastly headers returns 200 Praha Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/closest?language=de returns 200 Berlin (lang fallback) Good Good Good Good Good Good Good 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 Good Good 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 Good Good Good Good Good Good Good
HTTP GET /city/v1/featured returns 400 with error JSON with message Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/featured?language=cs returns 200 and correct list of cities Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/featured?language=invalid returns 400 with error JSON with message Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/featured?language=sk returns 200 and correct list of cities Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/get returns 400 with error JSON with message Good Good Good Good Good Good Good 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 Good Good Good Good Good Good Good
HTTP GET /city/v1/get?id=101748109&language=de returns 200 and correct object Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/get?id=101748111&language=cs returns 200 and correct object Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/get?id=101748113&language=cs returns 200 and correct object Good Good Good Good Good Good Good Good Good Good Good Good
HTTP GET /city/v1/get?id=123 returns 400 with error JSON with message Good Good Good Good Good Good Good 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 Good Good 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 Good Good Good Good Good Good Good
HTTP GET /city/v1/get?language=cs returns 400 with error JSON with message Good Good Good Good Good Good Good 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 Good Good 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 Good Good 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 Good Good 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 Good Good Good Good Good Good Good
HTTP GET /fnhjkdniudsancyne returns 404 Good Good Good Good Good Good Good Good Good Good Good Good
Service logs a message containing 8080 (used port) on startup Good Good Good Good Good Good Good Good Good Good Good Good
Service logs every request, message contains url path Good Good Good Good Good Good Good Good Good Good Good Good
Startup time (to start responding) secs 0.00246 0.00216 0.00236 0.00275 0.00178 0.00228 0.0159 0.0208 0.0152 0.0168 0.0377 0.0264
Stops gracefully Good, in 0.9s Good, in 0.7s Good, in 0.8s Good, in 0.9s Good, in 0.7s Good, in 0.7s Good, in 0.8s Good, in 0.7s Good, in 0.9s Good, in 0.7s Good, in 0.7s Good, in 0.7s
Threads with 1 online vCPU, 1.0 soft CPU limit dumb-init
10✕locations-rs-ro
dumb-init
14✕locations-rs-ro
dumb-init
18✕locations-rs-ro
dumb-init
18✕locations-rs-ro
dumb-init
34✕locations-rs-ro
dumb-init
34✕locations-rs-ro
dumb-init
66✕locations-rs-ro
dumb-init
66✕locations-rs-ro
dumb-init
130✕locations-rs-ro
dumb-init
130✕locations-rs-ro
dumb-init
258✕locations-rs-ro
dumb-init
258✕locations-rs-ro
Threads with 4 online vCPUs, 1.5 soft CPU limit (benchmarked) dumb-init
10✕locations-rs-ro
dumb-init
14✕locations-rs-ro
dumb-init
18✕locations-rs-ro
dumb-init
18✕locations-rs-ro
dumb-init
34✕locations-rs-ro
dumb-init
34✕locations-rs-ro
dumb-init
66✕locations-rs-ro
dumb-init
66✕locations-rs-ro
dumb-init
130✕locations-rs-ro
dumb-init
130✕locations-rs-ro
dumb-init
258✕locations-rs-ro
dumb-init
258✕locations-rs-ro
Threads with 4 online vCPUs, 4.0 soft CPU limit dumb-init
10✕locations-rs-ro
dumb-init
14✕locations-rs-ro
dumb-init
18✕locations-rs-ro
dumb-init
18✕locations-rs-ro
dumb-init
34✕locations-rs-ro
dumb-init
34✕locations-rs-ro
dumb-init
66✕locations-rs-ro
dumb-init
66✕locations-rs-ro
dumb-init
130✕locations-rs-ro
dumb-init
130✕locations-rs-ro
dumb-init
258✕locations-rs-ro
dumb-init
258✕locations-rs-ro

Graphs

The graphs are interactive, view the rendered HTML locally to enjoy it.