Skip to content

Instantly share code, notes, and snippets.

@DarthSim
Last active February 26, 2025 13:48

Revisions

  1. DarthSim revised this gist Apr 30, 2019. 7 changed files with 147 additions and 154 deletions.
    32 changes: 16 additions & 16 deletions 00.imgproxy_vs_alternatives.md
    Original file line number Diff line number Diff line change
    @@ -2,23 +2,23 @@

    ## Setup

    - CPU optimized DigitalOcean droplet, 8 CPUs, 16 GB RAM
    - c5.xlarge AWS instance: 4 CPUs, 8 GB RAM
    - Ubuntu 18.04
    - Go 1.12
    - Python 2.7
    - Vips 8.7.4

    All the tools were launched with their default settings except the following (where applicable):

    - Concurrency was set to 16;
    - Concurrency was set to 8;
    - Filesystem image source was configured. Where not applicable, local nginx was used as the image source.

    ## Benchmarking

    We used [Apache HTTP server benchmarking tool](https://httpd.apache.org/docs/2.4/programs/ab.html) (a.k.a `ab`):

    ```
    ab -n 1000 -c 8 $url
    ab -n 1000 -c 4 $url
    ```

    The source image is a [photo of Wat Arun](https://upload.wikimedia.org/wikipedia/commons/b/b7/The_sculptures_of_two_mythical_giant_demons%2C_Thotsakan_and_Sahatsadecha%2C_guarding_the_eastern_gate_of_the_main_chapel_of_Wat_Arun%2C_Bangkok.jpg) (JPEG, 7360x4912, 29MB).
    @@ -28,36 +28,36 @@ The tools were requested to resize it to fit 500x500.
    ## Tested tools

    - [imgproxy](https://github.com/imgproxy/imgproxy) itself, master branch

    URL: `/unsigned/rs:fit:500:0/plain/local:///wat-arun.jpg`

    - [thumbor](https://github.com/thumbor/thumbor), v6.7.0

    URL: `/unsafe/500x0/wat-arun.jpg`

    - [imaginary](https://github.com/h2non/imaginary), master branch

    URL: `/fit?width=500&height=500&file=wat-arun.jpg`

    - [pilbox](https://github.com/agschwender/pilbox), v1.3.4

    URL: `/?url=http%3A%2F%2Fimages.dev.com%2Fwat-arun.jpg&w=500&h=500&mode=clip`

    - [picfit](https://github.com/thoas/picfit), master branch

    URL: `/display/resize/500x0/wat-arun.jpg`

    - [imageproxy](https://github.com/willnorris/imageproxy), master branch

    URL: `/500x/http://images.dev.com/wat-arun.jpg`

    ## Results

    | Tool | Time taken for tests<br>(sec) | Requests per second | Time per request<br>(sec, mean) | Memory peak usage<br>(MB) | Result file size<br>(KB) |
    | :------------ | -------------------------: | ------------------: | ---------------------------: | ---------------------: | --------------------: |
    | imgproxy | 42.921 | 23.30 | 343.365 | 327 | 41.80 |
    | thumbor | 68.158 | 14.67 | 545.262 | 1064 | 45.10 |
    | imaginary | 45.059 | 22.19 | 360.474 | 862 | 43.54 |
    | pilbox | 91.393 | 10.94 | 731.147 | 2009 | 95.64 |
    | picfit | 404.630 | 2.47 | 3237.036 | 3055 | 98.67 |
    | imageproxy | 396.457 | 2.52 | 3171.660 | 4572 | 98.74 |
    | imgproxy | 103.405 | 9.67 | 413.618 | 194 | 43.51 |
    | thumbor | 160.505 | 6.23 | 642.021 | 461 | 45.10 |
    | imaginary | 104.873 | 9.54 | 419.494 | 562 | 92.93 |
    | pilbox | 179.482 | 5.57 | 717.927 | 1060 | 95.64 |
    | picfit | 1220.412 | 0.82 | 4881.646 | 1934 | 98.67 |
    | imageproxy | 1209.361 | 0.83 | 4837.443 | 2392 | 98.74 |
    52 changes: 26 additions & 26 deletions 01.imgproxy
    Original file line number Diff line number Diff line change
    @@ -1,38 +1,38 @@
    Server Software: imgproxy
    Server Hostname: 127.0.0.1
    Server Port: 8082
    Server Port: 8080

    Document Path: /unsigned/rs:fit:500:0/plain/local:///wat-arun.jpg
    Document Length: 42807 bytes
    Document Length: 44559 bytes

    Concurrency Level: 8
    Time taken for tests: 42.921 seconds
    Concurrency Level: 4
    Time taken for tests: 103.405 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 43103000 bytes
    HTML transferred: 42807000 bytes
    Requests per second: 23.30 [#/sec] (mean)
    Time per request: 343.365 [ms] (mean)
    Time per request: 42.921 [ms] (mean, across all concurrent requests)
    Transfer rate: 980.71 [Kbytes/sec] received
    Total transferred: 44855000 bytes
    HTML transferred: 44559000 bytes
    Requests per second: 9.67 [#/sec] (mean)
    Time per request: 413.618 [ms] (mean)
    Time per request: 103.405 [ms] (mean, across all concurrent requests)
    Transfer rate: 423.61 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 1.4 0 17
    Processing: 328 342 13.4 338 456
    Waiting: 328 342 13.3 338 456
    Total: 328 342 14.2 338 473
    Connect: 0 0 0.0 0 0
    Processing: 323 413 5.6 413 446
    Waiting: 323 413 5.6 412 446
    Total: 323 413 5.6 413 446

    Percentage of the requests served within a certain time (ms)
    50% 338
    66% 343
    75% 346
    80% 349
    90% 357
    95% 365
    98% 376
    99% 385
    100% 473 (longest request)
    Memory peak usage: 327 [MB]
    Result file size: 41.80 [KB]
    50% 413
    66% 414
    75% 416
    80% 417
    90% 419
    95% 422
    98% 426
    99% 429
    100% 446 (longest request)

    Memory peak usage: 194 [MB]
    Result file size: 43.51 [KB]
    47 changes: 20 additions & 27 deletions 02.thumbor
    Original file line number Diff line number Diff line change
    @@ -1,38 +1,31 @@
    Server Software: Thumbor/6.7.0
    Server Hostname: 127.0.0.1
    Server Port: 8888

    Document Path: /unsafe/500x0/wat-arun.jpg
    Document Length: 46180 bytes

    Concurrency Level: 8
    Time taken for tests: 68.158 seconds
    Concurrency Level: 4
    Time taken for tests: 160.505 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 46435000 bytes
    HTML transferred: 46180000 bytes
    Requests per second: 14.67 [#/sec] (mean)
    Time per request: 545.262 [ms] (mean)
    Time per request: 68.158 [ms] (mean, across all concurrent requests)
    Transfer rate: 665.32 [Kbytes/sec] received
    Requests per second: 6.23 [#/sec] (mean)
    Time per request: 642.021 [ms] (mean)
    Time per request: 160.505 [ms] (mean, across all concurrent requests)
    Transfer rate: 282.52 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.0 0 1
    Processing: 491 544 121.1 527 2202
    Waiting: 491 544 121.1 527 2202
    Total: 492 544 121.1 527 2202
    Connect: 0 0 0.0 0 0
    Processing: 586 642 12.3 641 886
    Waiting: 586 641 12.3 641 886
    Total: 586 642 12.3 641 886

    Percentage of the requests served within a certain time (ms)
    50% 527
    66% 536
    75% 542
    80% 546
    90% 562
    95% 595
    98% 675
    99% 1015
    100% 2202 (longest request)
    50% 641
    66% 644
    75% 646
    80% 647
    90% 650
    95% 652
    98% 657
    99% 658
    100% 886 (longest request)

    Memory peak usage: 1064 [MB]
    Memory peak usage: 461 [MB]
    Result file size: 45.10 [KB]
    48 changes: 24 additions & 24 deletions 03.imaginary
    Original file line number Diff line number Diff line change
    @@ -2,37 +2,37 @@ Server Software: imaginary
    Server Hostname: 127.0.0.1
    Server Port: 8888

    Document Path: /fit?width=500&height=500&file=wat-arun.jpg&stripmeta=true
    Document Length: 44587 bytes
    Document Path: /fit?width=500&height=500&file=wat-arun.jpg
    Document Length: 95166 bytes

    Concurrency Level: 8
    Time taken for tests: 45.059 seconds
    Concurrency Level: 4
    Time taken for tests: 104.873 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 44818497 bytes
    HTML transferred: 44587000 bytes
    Requests per second: 22.19 [#/sec] (mean)
    Time per request: 360.474 [ms] (mean)
    Time per request: 45.059 [ms] (mean, across all concurrent requests)
    Transfer rate: 971.34 [Kbytes/sec] received
    Total transferred: 95389568 bytes
    HTML transferred: 95166000 bytes
    Requests per second: 9.54 [#/sec] (mean)
    Time per request: 419.494 [ms] (mean)
    Time per request: 104.873 [ms] (mean, across all concurrent requests)
    Transfer rate: 888.25 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.0 0 0
    Processing: 335 358 18.3 354 500
    Waiting: 335 358 18.3 354 500
    Total: 335 358 18.4 355 501
    Processing: 310 419 6.4 418 459
    Waiting: 310 418 6.4 418 459
    Total: 310 419 6.4 418 460

    Percentage of the requests served within a certain time (ms)
    50% 355
    66% 361
    75% 365
    80% 368
    90% 377
    95% 386
    98% 405
    99% 434
    100% 501 (longest request)
    50% 418
    66% 420
    75% 421
    80% 422
    90% 425
    95% 428
    98% 432
    99% 437
    100% 460 (longest request)

    Memory peak usage: 862 [MB]
    Result file size: 43.54 [KB]
    Memory peak usage: 562 [MB]
    Result file size: 92.93 [KB]
    44 changes: 22 additions & 22 deletions 04.pilbox
    Original file line number Diff line number Diff line change
    @@ -1,38 +1,38 @@
    Server Software: TornadoServer/5.1
    Server Software: TornadoServer/5.1.1
    Server Hostname: 127.0.0.1
    Server Port: 8888

    Document Path: /?url=http%3A%2F%2Fimages.dev.com%2Fwat-arun.jpg&w=500&h=500&mode=clip
    Document Length: 97934 bytes

    Concurrency Level: 8
    Time taken for tests: 91.393 seconds
    Concurrency Level: 4
    Time taken for tests: 179.482 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 98162000 bytes
    Total transferred: 98164000 bytes
    HTML transferred: 97934000 bytes
    Requests per second: 10.94 [#/sec] (mean)
    Time per request: 731.147 [ms] (mean)
    Time per request: 91.393 [ms] (mean, across all concurrent requests)
    Transfer rate: 1048.89 [Kbytes/sec] received
    Requests per second: 5.57 [#/sec] (mean)
    Time per request: 717.927 [ms] (mean)
    Time per request: 179.482 [ms] (mean, across all concurrent requests)
    Transfer rate: 534.11 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.3 0 7
    Processing: 520 727 329.1 556 2291
    Waiting: 520 727 329.1 556 2291
    Total: 520 727 329.1 556 2291
    Connect: 0 0 0.0 0 1
    Processing: 456 717 232.5 658 1851
    Waiting: 456 717 232.5 657 1851
    Total: 457 717 232.5 658 1851

    Percentage of the requests served within a certain time (ms)
    50% 556
    66% 611
    75% 885
    80% 1046
    90% 1142
    95% 1531
    98% 1702
    99% 1882
    100% 2291 (longest request)
    50% 658
    66% 663
    75% 668
    80% 674
    90% 1176
    95% 1278
    98% 1340
    99% 1618
    100% 1851 (longest request)

    Memory peak usage: 2009 [MB]
    Memory peak usage: 1060 [MB]
    Result file size: 95.64 [KB]
    40 changes: 20 additions & 20 deletions 05.picfit
    Original file line number Diff line number Diff line change
    @@ -5,34 +5,34 @@ Server Port: 8888
    Document Path: /display/resize/500x0/wat-arun.jpg
    Document Length: 101038 bytes

    Concurrency Level: 8
    Time taken for tests: 404.630 seconds
    Concurrency Level: 4
    Time taken for tests: 1220.412 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 101206000 bytes
    HTML transferred: 101038000 bytes
    Requests per second: 2.47 [#/sec] (mean)
    Time per request: 3237.036 [ms] (mean)
    Time per request: 404.630 [ms] (mean, across all concurrent requests)
    Transfer rate: 244.26 [Kbytes/sec] received
    Requests per second: 0.82 [#/sec] (mean)
    Time per request: 4881.646 [ms] (mean)
    Time per request: 1220.412 [ms] (mean, across all concurrent requests)
    Transfer rate: 80.98 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.1 0 1
    Processing: 2872 3230 82.9 3232 3673
    Waiting: 2872 3230 82.9 3232 3673
    Total: 2872 3230 82.9 3232 3673
    Connect: 0 0 0.0 0 0
    Processing: 2322 4875 118.6 4880 5265
    Waiting: 2322 4874 118.6 4879 5265
    Total: 2322 4875 118.6 4880 5265

    Percentage of the requests served within a certain time (ms)
    50% 3232
    66% 3260
    75% 3279
    80% 3290
    90% 3324
    95% 3369
    98% 3410
    99% 3432
    100% 3673 (longest request)
    50% 4880
    66% 4906
    75% 4924
    80% 4936
    90% 4978
    95% 5009
    98% 5078
    99% 5124
    100% 5265 (longest request)

    Memory peak usage: 3055 [MB]
    Memory peak usage: 1934 [MB]
    Result file size: 98.67 [KB]
    38 changes: 19 additions & 19 deletions 06.imageproxy
    Original file line number Diff line number Diff line change
    @@ -5,34 +5,34 @@ Server Port: 8888
    Document Path: /500x/http://images.dev.com/wat-arun.jpg
    Document Length: 101108 bytes

    Concurrency Level: 8
    Time taken for tests: 396.457 seconds
    Concurrency Level: 4
    Time taken for tests: 1209.361 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 101318000 bytes
    HTML transferred: 101108000 bytes
    Requests per second: 2.52 [#/sec] (mean)
    Time per request: 3171.660 [ms] (mean)
    Time per request: 396.457 [ms] (mean, across all concurrent requests)
    Transfer rate: 249.57 [Kbytes/sec] received
    Requests per second: 0.83 [#/sec] (mean)
    Time per request: 4837.443 [ms] (mean)
    Time per request: 1209.361 [ms] (mean, across all concurrent requests)
    Transfer rate: 81.81 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.0 0 0
    Processing: 2789 3164 83.0 3167 3555
    Waiting: 2789 3164 83.0 3166 3554
    Total: 2789 3164 83.0 3167 3555
    Processing: 4520 4837 74.9 4838 5090
    Waiting: 4520 4836 74.7 4837 5086
    Total: 4520 4837 74.9 4838 5090

    Percentage of the requests served within a certain time (ms)
    50% 3167
    66% 3194
    75% 3211
    80% 3223
    90% 3262
    95% 3291
    98% 3340
    99% 3389
    100% 3555 (longest request)
    50% 4838
    66% 4865
    75% 4884
    80% 4895
    90% 4931
    95% 4960
    98% 4993
    99% 5026
    100% 5090 (longest request)

    Memory peak usage: 4572 [MB]
    Memory peak usage: 2392 [MB]
    Result file size: 98.74 [KB]
  2. DarthSim revised this gist Apr 25, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion 00.imgproxy_vs_alternatives.md
    Original file line number Diff line number Diff line change
    @@ -55,7 +55,7 @@ The tools were requested to resize it to fit 500x500.

    | Tool | Time taken for tests<br>(sec) | Requests per second | Time per request<br>(sec, mean) | Memory peak usage<br>(MB) | Result file size<br>(KB) |
    | :------------ | -------------------------: | ------------------: | ---------------------------: | ---------------------: | --------------------: |
    | imgproxy | 42.921 | 23.30 | 343.365 | 327 | 44.30 |
    | imgproxy | 42.921 | 23.30 | 343.365 | 327 | 41.80 |
    | thumbor | 68.158 | 14.67 | 545.262 | 1064 | 45.10 |
    | imaginary | 45.059 | 22.19 | 360.474 | 862 | 43.54 |
    | pilbox | 91.393 | 10.94 | 731.147 | 2009 | 95.64 |
  3. DarthSim revised this gist Apr 25, 2019. 1 changed file with 17 additions and 6 deletions.
    23 changes: 17 additions & 6 deletions 00.imgproxy_vs_alternatives.md
    Original file line number Diff line number Diff line change
    @@ -28,18 +28,29 @@ The tools were requested to resize it to fit 500x500.
    ## Tested tools

    - [imgproxy](https://github.com/imgproxy/imgproxy) itself, master branch
    URL: `/unsigned/rs:fit:500:0/plain/local:///wat-arun.jpg`

    URL: `/unsigned/rs:fit:500:0/plain/local:///wat-arun.jpg`

    - [thumbor](https://github.com/thumbor/thumbor), v6.7.0
    URL: `/unsafe/500x0/wat-arun.jpg`

    URL: `/unsafe/500x0/wat-arun.jpg`

    - [imaginary](https://github.com/h2non/imaginary), master branch
    URL: `/fit?width=500&height=500&file=wat-arun.jpg`

    URL: `/fit?width=500&height=500&file=wat-arun.jpg`

    - [pilbox](https://github.com/agschwender/pilbox), v1.3.4
    URL: `/?url=http%3A%2F%2Fimages.dev.com%2Fwat-arun.jpg&w=500&h=500&mode=clip`

    URL: `/?url=http%3A%2F%2Fimages.dev.com%2Fwat-arun.jpg&w=500&h=500&mode=clip`

    - [picfit](https://github.com/thoas/picfit), master branch
    URL: `/display/resize/500x0/wat-arun.jpg`

    URL: `/display/resize/500x0/wat-arun.jpg`

    - [imageproxy](https://github.com/willnorris/imageproxy), master branch
    URL: `/500x/http://images.dev.com/wat-arun.jpg`

    URL: `/500x/http://images.dev.com/wat-arun.jpg`

    ## Results

    | Tool | Time taken for tests<br>(sec) | Requests per second | Time per request<br>(sec, mean) | Memory peak usage<br>(MB) | Result file size<br>(KB) |
  4. DarthSim revised this gist Apr 25, 2019. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions 00.imgproxy_vs_alternatives.md
    Original file line number Diff line number Diff line change
    @@ -2,11 +2,11 @@

    ## Setup

    CPU optimized DigitalOcean droplet, 8 CPUs, 16 GB RAM
    Ubuntu 18.04
    Go 1.12
    Python 2.7
    Vips 8.7.4
    - CPU optimized DigitalOcean droplet, 8 CPUs, 16 GB RAM
    - Ubuntu 18.04
    - Go 1.12
    - Python 2.7
    - Vips 8.7.4

    All the tools were launched with their default settings except the following (where applicable):

  5. DarthSim revised this gist Apr 25, 2019. 6 changed files with 12 additions and 12 deletions.
    4 changes: 2 additions & 2 deletions 01.imgproxy
    Original file line number Diff line number Diff line change
    @@ -34,5 +34,5 @@ Percentage of the requests served within a certain time (ms)
    99% 385
    100% 473 (longest request)

    Memory peak usage: 327MB
    Result file size: 41.80KB
    Memory peak usage: 327 [MB]
    Result file size: 41.80 [KB]
    4 changes: 2 additions & 2 deletions 02.thumbor
    Original file line number Diff line number Diff line change
    @@ -34,5 +34,5 @@ Percentage of the requests served within a certain time (ms)
    99% 1015
    100% 2202 (longest request)

    Memory peak usage: 1064MB
    Result file size: 45.10KB
    Memory peak usage: 1064 [MB]
    Result file size: 45.10 [KB]
    4 changes: 2 additions & 2 deletions 03.imaginary
    Original file line number Diff line number Diff line change
    @@ -34,5 +34,5 @@ Percentage of the requests served within a certain time (ms)
    99% 434
    100% 501 (longest request)

    Memory peak usage: 862M
    Result file size: 43.54KB
    Memory peak usage: 862 [MB]
    Result file size: 43.54 [KB]
    4 changes: 2 additions & 2 deletions 04.pilbox
    Original file line number Diff line number Diff line change
    @@ -34,5 +34,5 @@ Percentage of the requests served within a certain time (ms)
    99% 1882
    100% 2291 (longest request)

    Memory peak usage: 2009MB
    Result file size: 95.64KB
    Memory peak usage: 2009 [MB]
    Result file size: 95.64 [KB]
    4 changes: 2 additions & 2 deletions 05.picfit
    Original file line number Diff line number Diff line change
    @@ -34,5 +34,5 @@ Percentage of the requests served within a certain time (ms)
    99% 3432
    100% 3673 (longest request)

    Memory peak usage: 3055M
    Result file size: 98.67KB
    Memory peak usage: 3055 [MB]
    Result file size: 98.67 [KB]
    4 changes: 2 additions & 2 deletions 06.imageproxy
    Original file line number Diff line number Diff line change
    @@ -34,5 +34,5 @@ Percentage of the requests served within a certain time (ms)
    99% 3389
    100% 3555 (longest request)

    Memory peak usage: 4572M
    Result file size: 98.74KB
    Memory peak usage: 4572 [MB]
    Result file size: 98.74 [KB]
  6. DarthSim revised this gist Apr 25, 2019. 5 changed files with 52 additions and 0 deletions.
    52 changes: 52 additions & 0 deletions 00.imgproxy_vs_alternatives.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,52 @@
    # imgproxy vs alternatives benchmark

    ## Setup

    CPU optimized DigitalOcean droplet, 8 CPUs, 16 GB RAM
    Ubuntu 18.04
    Go 1.12
    Python 2.7
    Vips 8.7.4

    All the tools were launched with their default settings except the following (where applicable):

    - Concurrency was set to 16;
    - Filesystem image source was configured. Where not applicable, local nginx was used as the image source.

    ## Benchmarking

    We used [Apache HTTP server benchmarking tool](https://httpd.apache.org/docs/2.4/programs/ab.html) (a.k.a `ab`):

    ```
    ab -n 1000 -c 8 $url
    ```

    The source image is a [photo of Wat Arun](https://upload.wikimedia.org/wikipedia/commons/b/b7/The_sculptures_of_two_mythical_giant_demons%2C_Thotsakan_and_Sahatsadecha%2C_guarding_the_eastern_gate_of_the_main_chapel_of_Wat_Arun%2C_Bangkok.jpg) (JPEG, 7360x4912, 29MB).

    The tools were requested to resize it to fit 500x500.

    ## Tested tools

    - [imgproxy](https://github.com/imgproxy/imgproxy) itself, master branch
    URL: `/unsigned/rs:fit:500:0/plain/local:///wat-arun.jpg`
    - [thumbor](https://github.com/thumbor/thumbor), v6.7.0
    URL: `/unsafe/500x0/wat-arun.jpg`
    - [imaginary](https://github.com/h2non/imaginary), master branch
    URL: `/fit?width=500&height=500&file=wat-arun.jpg`
    - [pilbox](https://github.com/agschwender/pilbox), v1.3.4
    URL: `/?url=http%3A%2F%2Fimages.dev.com%2Fwat-arun.jpg&w=500&h=500&mode=clip`
    - [picfit](https://github.com/thoas/picfit), master branch
    URL: `/display/resize/500x0/wat-arun.jpg`
    - [imageproxy](https://github.com/willnorris/imageproxy), master branch
    URL: `/500x/http://images.dev.com/wat-arun.jpg`

    ## Results

    | Tool | Time taken for tests<br>(sec) | Requests per second | Time per request<br>(sec, mean) | Memory peak usage<br>(MB) | Result file size<br>(KB) |
    | :------------ | -------------------------: | ------------------: | ---------------------------: | ---------------------: | --------------------: |
    | imgproxy | 42.921 | 23.30 | 343.365 | 327 | 44.30 |
    | thumbor | 68.158 | 14.67 | 545.262 | 1064 | 45.10 |
    | imaginary | 45.059 | 22.19 | 360.474 | 862 | 43.54 |
    | pilbox | 91.393 | 10.94 | 731.147 | 2009 | 95.64 |
    | picfit | 404.630 | 2.47 | 3237.036 | 3055 | 98.67 |
    | imageproxy | 396.457 | 2.52 | 3171.660 | 4572 | 98.74 |
    File renamed without changes.
    File renamed without changes.
    File renamed without changes.
    File renamed without changes.
  7. DarthSim revised this gist Apr 25, 2019. 3 changed files with 3 additions and 3 deletions.
    2 changes: 1 addition & 1 deletion 01.imgproxy
    Original file line number Diff line number Diff line change
    @@ -35,4 +35,4 @@ Percentage of the requests served within a certain time (ms)
    100% 473 (longest request)

    Memory peak usage: 327MB
    Result file size: 44.30KB
    Result file size: 41.80KB
    2 changes: 1 addition & 1 deletion 04.picfit
    Original file line number Diff line number Diff line change
    @@ -35,4 +35,4 @@ Percentage of the requests served within a certain time (ms)
    100% 3673 (longest request)

    Memory peak usage: 3055M
    Result file size: 98.70KB
    Result file size: 98.67KB
    2 changes: 1 addition & 1 deletion 06.imaginary
    Original file line number Diff line number Diff line change
    @@ -35,4 +35,4 @@ Percentage of the requests served within a certain time (ms)
    100% 501 (longest request)

    Memory peak usage: 862M
    Result file size: 93.21KB
    Result file size: 43.54KB
  8. DarthSim revised this gist Apr 25, 2019. 6 changed files with 12 additions and 6 deletions.
    3 changes: 2 additions & 1 deletion 01.imgproxy_result → 01.imgproxy
    Original file line number Diff line number Diff line change
    @@ -34,4 +34,5 @@ Percentage of the requests served within a certain time (ms)
    99% 385
    100% 473 (longest request)

    Memory peak usage: 327M
    Memory peak usage: 327MB
    Result file size: 44.30KB
    3 changes: 2 additions & 1 deletion 02.thumbor_result → 02.thumbor
    Original file line number Diff line number Diff line change
    @@ -34,4 +34,5 @@ Percentage of the requests served within a certain time (ms)
    99% 1015
    100% 2202 (longest request)

    Memory peak usage: 1064M
    Memory peak usage: 1064MB
    Result file size: 45.10KB
    3 changes: 2 additions & 1 deletion 03.pilbox_result → 03.pilbox
    Original file line number Diff line number Diff line change
    @@ -34,4 +34,5 @@ Percentage of the requests served within a certain time (ms)
    99% 1882
    100% 2291 (longest request)

    Memory peak usage: 2009M
    Memory peak usage: 2009MB
    Result file size: 95.64KB
    3 changes: 2 additions & 1 deletion 04.picfit_result → 04.picfit
    Original file line number Diff line number Diff line change
    @@ -34,4 +34,5 @@ Percentage of the requests served within a certain time (ms)
    99% 3432
    100% 3673 (longest request)

    Memory peak usage: 3055M
    Memory peak usage: 3055M
    Result file size: 98.70KB
    3 changes: 2 additions & 1 deletion 05.imageproxy_result → 05.imageproxy
    Original file line number Diff line number Diff line change
    @@ -34,4 +34,5 @@ Percentage of the requests served within a certain time (ms)
    99% 3389
    100% 3555 (longest request)

    Memory peak usage: 4572M
    Memory peak usage: 4572M
    Result file size: 98.74KB
    3 changes: 2 additions & 1 deletion 06.imaginary_result → 06.imaginary
    Original file line number Diff line number Diff line change
    @@ -34,4 +34,5 @@ Percentage of the requests served within a certain time (ms)
    99% 434
    100% 501 (longest request)

    Memory peak usage: 862M
    Memory peak usage: 862M
    Result file size: 93.21KB
  9. DarthSim revised this gist Apr 24, 2019. 3 changed files with 96 additions and 22 deletions.
    44 changes: 22 additions & 22 deletions 01.imgproxy_result
    Original file line number Diff line number Diff line change
    @@ -3,35 +3,35 @@ Server Hostname: 127.0.0.1
    Server Port: 8082

    Document Path: /unsigned/rs:fit:500:0/plain/local:///wat-arun.jpg
    Document Length: 45799 bytes
    Document Length: 42807 bytes

    Concurrency Level: 8
    Time taken for tests: 61.629 seconds
    Time taken for tests: 42.921 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 46095000 bytes
    HTML transferred: 45799000 bytes
    Requests per second: 16.23 [#/sec] (mean)
    Time per request: 493.029 [ms] (mean)
    Time per request: 61.629 [ms] (mean, across all concurrent requests)
    Transfer rate: 730.42 [Kbytes/sec] received
    Total transferred: 43103000 bytes
    HTML transferred: 42807000 bytes
    Requests per second: 23.30 [#/sec] (mean)
    Time per request: 343.365 [ms] (mean)
    Time per request: 42.921 [ms] (mean, across all concurrent requests)
    Transfer rate: 980.71 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.0 0 1
    Processing: 465 491 86.7 477 1457
    Waiting: 465 491 86.7 477 1457
    Total: 465 491 86.7 477 1457
    Connect: 0 0 1.4 0 17
    Processing: 328 342 13.4 338 456
    Waiting: 328 342 13.3 338 456
    Total: 328 342 14.2 338 473

    Percentage of the requests served within a certain time (ms)
    50% 477
    66% 482
    75% 487
    80% 492
    90% 503
    95% 515
    98% 579
    99% 702
    100% 1457 (longest request)
    50% 338
    66% 343
    75% 346
    80% 349
    90% 357
    95% 365
    98% 376
    99% 385
    100% 473 (longest request)

    Memory peak usage: 437M
    Memory peak usage: 327M
    37 changes: 37 additions & 0 deletions 05.imageproxy_result
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,37 @@
    Server Software:
    Server Hostname: 127.0.0.1
    Server Port: 8888

    Document Path: /500x/http://images.dev.com/wat-arun.jpg
    Document Length: 101108 bytes

    Concurrency Level: 8
    Time taken for tests: 396.457 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 101318000 bytes
    HTML transferred: 101108000 bytes
    Requests per second: 2.52 [#/sec] (mean)
    Time per request: 3171.660 [ms] (mean)
    Time per request: 396.457 [ms] (mean, across all concurrent requests)
    Transfer rate: 249.57 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.0 0 0
    Processing: 2789 3164 83.0 3167 3555
    Waiting: 2789 3164 83.0 3166 3554
    Total: 2789 3164 83.0 3167 3555

    Percentage of the requests served within a certain time (ms)
    50% 3167
    66% 3194
    75% 3211
    80% 3223
    90% 3262
    95% 3291
    98% 3340
    99% 3389
    100% 3555 (longest request)

    Memory peak usage: 4572M
    37 changes: 37 additions & 0 deletions 06.imaginary_result
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,37 @@
    Server Software: imaginary
    Server Hostname: 127.0.0.1
    Server Port: 8888

    Document Path: /fit?width=500&height=500&file=wat-arun.jpg&stripmeta=true
    Document Length: 44587 bytes

    Concurrency Level: 8
    Time taken for tests: 45.059 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 44818497 bytes
    HTML transferred: 44587000 bytes
    Requests per second: 22.19 [#/sec] (mean)
    Time per request: 360.474 [ms] (mean)
    Time per request: 45.059 [ms] (mean, across all concurrent requests)
    Transfer rate: 971.34 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.0 0 0
    Processing: 335 358 18.3 354 500
    Waiting: 335 358 18.3 354 500
    Total: 335 358 18.4 355 501

    Percentage of the requests served within a certain time (ms)
    50% 355
    66% 361
    75% 365
    80% 368
    90% 377
    95% 386
    98% 405
    99% 434
    100% 501 (longest request)

    Memory peak usage: 862M
  10. DarthSim created this gist Apr 24, 2019.
    37 changes: 37 additions & 0 deletions 01.imgproxy_result
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,37 @@
    Server Software: imgproxy
    Server Hostname: 127.0.0.1
    Server Port: 8082

    Document Path: /unsigned/rs:fit:500:0/plain/local:///wat-arun.jpg
    Document Length: 45799 bytes

    Concurrency Level: 8
    Time taken for tests: 61.629 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 46095000 bytes
    HTML transferred: 45799000 bytes
    Requests per second: 16.23 [#/sec] (mean)
    Time per request: 493.029 [ms] (mean)
    Time per request: 61.629 [ms] (mean, across all concurrent requests)
    Transfer rate: 730.42 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.0 0 1
    Processing: 465 491 86.7 477 1457
    Waiting: 465 491 86.7 477 1457
    Total: 465 491 86.7 477 1457

    Percentage of the requests served within a certain time (ms)
    50% 477
    66% 482
    75% 487
    80% 492
    90% 503
    95% 515
    98% 579
    99% 702
    100% 1457 (longest request)

    Memory peak usage: 437M
    37 changes: 37 additions & 0 deletions 02.thumbor_result
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,37 @@
    Server Software: Thumbor/6.7.0
    Server Hostname: 127.0.0.1
    Server Port: 8888

    Document Path: /unsafe/500x0/wat-arun.jpg
    Document Length: 46180 bytes

    Concurrency Level: 8
    Time taken for tests: 68.158 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 46435000 bytes
    HTML transferred: 46180000 bytes
    Requests per second: 14.67 [#/sec] (mean)
    Time per request: 545.262 [ms] (mean)
    Time per request: 68.158 [ms] (mean, across all concurrent requests)
    Transfer rate: 665.32 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.0 0 1
    Processing: 491 544 121.1 527 2202
    Waiting: 491 544 121.1 527 2202
    Total: 492 544 121.1 527 2202

    Percentage of the requests served within a certain time (ms)
    50% 527
    66% 536
    75% 542
    80% 546
    90% 562
    95% 595
    98% 675
    99% 1015
    100% 2202 (longest request)

    Memory peak usage: 1064M
    37 changes: 37 additions & 0 deletions 03.pilbox_result
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,37 @@
    Server Software: TornadoServer/5.1
    Server Hostname: 127.0.0.1
    Server Port: 8888

    Document Path: /?url=http%3A%2F%2Fimages.dev.com%2Fwat-arun.jpg&w=500&h=500&mode=clip
    Document Length: 97934 bytes

    Concurrency Level: 8
    Time taken for tests: 91.393 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 98162000 bytes
    HTML transferred: 97934000 bytes
    Requests per second: 10.94 [#/sec] (mean)
    Time per request: 731.147 [ms] (mean)
    Time per request: 91.393 [ms] (mean, across all concurrent requests)
    Transfer rate: 1048.89 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.3 0 7
    Processing: 520 727 329.1 556 2291
    Waiting: 520 727 329.1 556 2291
    Total: 520 727 329.1 556 2291

    Percentage of the requests served within a certain time (ms)
    50% 556
    66% 611
    75% 885
    80% 1046
    90% 1142
    95% 1531
    98% 1702
    99% 1882
    100% 2291 (longest request)

    Memory peak usage: 2009M
    37 changes: 37 additions & 0 deletions 04.picfit_result
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,37 @@
    Server Software:
    Server Hostname: 127.0.0.1
    Server Port: 8888

    Document Path: /display/resize/500x0/wat-arun.jpg
    Document Length: 101038 bytes

    Concurrency Level: 8
    Time taken for tests: 404.630 seconds
    Complete requests: 1000
    Failed requests: 0
    Total transferred: 101206000 bytes
    HTML transferred: 101038000 bytes
    Requests per second: 2.47 [#/sec] (mean)
    Time per request: 3237.036 [ms] (mean)
    Time per request: 404.630 [ms] (mean, across all concurrent requests)
    Transfer rate: 244.26 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 0 0 0.1 0 1
    Processing: 2872 3230 82.9 3232 3673
    Waiting: 2872 3230 82.9 3232 3673
    Total: 2872 3230 82.9 3232 3673

    Percentage of the requests served within a certain time (ms)
    50% 3232
    66% 3260
    75% 3279
    80% 3290
    90% 3324
    95% 3369
    98% 3410
    99% 3432
    100% 3673 (longest request)

    Memory peak usage: 3055M