Permalink
Fetching contributors…
Cannot retrieve contributors at this time
39 lines (26 sloc) 1.69 KB

Benchmarks

Repeatedly resizing a large Wikipedia image on a bare metal Linux server with dual Intel Xeon X5675 (12 physical cores), we can get an idea of how fast Fotomat is at various resizing operations and how well it performs under load.

While handling 8 concurrent requests, here's the throughput in requests per second (y axis) when scaling variously sizes input images (x axis) and being asked to scale to variously sizes output images (colored lines):

throughput-t8

Latency in seconds (y axis) instead of throughput for the above:

latency-t8

While scaling down to a 256px output image, here's the throughput in requests per second (y axis) when scaling variously sizes input images (x axis) at varying request concurrencies (colored lines):

throughput-s256

Latency in seconds (y axis) instead of throughput for the above:

latency-s256

Test Methology

To test this on your own hardware, you can install wrk and graphviz and use Fotomat's benchmarking tools:

  • bench-server downloads the test image and pre-scales it to the test input sizes, then runs the server.
  • bench-client repeatedly runs wrk against Fotomat and parses the result into the TSV format that bench-graph wants.
  • bench-graph uses graphviz to generate graphs from the bench-client results.