github thumbor/thumbor 5.0.0
Release 5.0.0

latest releases: 7.7.4, 7.7.3, 7.7.2...
8 years ago

WHY the major release?

Thumbor's storage and result storage all used synchronous interfaces. That's not an issue per-se, but it's not the proper way to use tornado.

Several users were having issues in production due to timeouts and broken requests.

We were at a cross-roads. Fix the issue in a "broken" way but without any breaking changes, or go with what the community feels is the right way for thumbor to go, while being incompatible with currently developed extensions.

We felt we needed to fix this in a way that felt "right". Hopefully we'll be more aligned with future evolutions of tornado.

With the help of the community we were able to fix this issue and make thumbor more robust, more scalable and more predictable.

Feedback on this is highly encouraged. Feel free to create issues if something is amiss.

WARNING

This version contains breaking changes. If you use your own version of a Storage or ResultStorage, all of those are async now and should return a Future. For more info, check the built-in one from thumbor's codebase.

BREAKING Changes

  • Async contract for all of thumbor's imported modules #459. thanks @masom

Changes

  • Tornado updated to 4.1
  • Better GifEngine error handling #448. thanks @masom
  • Fixing error log on cache miss #453. thanks @dhardy92
  • Meta now has frame count #451
  • Https loader and strict https loader added #471. thanks @lukaselmer

Benchmark

4.0.0

Running 10s test @ http://127.0.0.1:8888/unsafe/300x300/s.glbimg.com/et/nv/f/original/2015/05/01/casamento-raphaeldias.jpg
  40 threads and 40 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     2.42s   748.35ms   2.83s    84.03%
    Req/Sec     0.22      0.95     9.00     95.83%
  Latency Distribution
     50%    2.79s
     75%    2.80s
     90%    2.81s
     99%    2.82s
  144 requests in 10.10s, 3.77MB read
Requests/sec:     14.26
Transfer/sec:    382.70KB

4.12.2

Running 10s test @ http://127.0.0.1:8888/unsafe/300x300/s.glbimg.com/et/nv/f/original/2015/05/01/casamento-raphaeldias.jpg
  40 threads and 40 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     2.41s   449.85ms   3.46s    80.42%
    Req/Sec     0.01      0.12     1.00     98.60%
  Latency Distribution
     50%    2.48s
     75%    2.65s
     90%    2.83s
     99%    3.24s
  143 requests in 10.07s, 3.75MB read
Requests/sec:     14.21
Transfer/sec:    381.29KB

5.0.0

Running 10s test @ http://127.0.0.1:8888/unsafe/300x300/s.glbimg.com/et/nv/f/original/2015/05/01/casamento-raphaeldias.jpg
  40 threads and 40 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     2.16s   476.70ms   2.72s    83.54%
    Req/Sec     0.04      0.20     1.00     95.73%
  Latency Distribution
     50%    2.30s
     75%    2.43s
     90%    2.56s
     99%    2.70s
  164 requests in 10.08s, 4.30MB read
Requests/sec:     16.27
Transfer/sec:    436.80KB

Diff to previous release
pypi release

Don't miss a new thumbor release

NewReleases is sending notifications on new releases.