Techempower benchmarks

yeah, see the other threads..

the benchmark is low concurrency (256) - the top frameworks doesn’t use the DB pool - eg 256 db connections and 256 keepalive clients..

so these frameworks does 256 db conn checkouts for the entire benchmark - the code is weird - and some of them have like 50-60 queries per request - ecto/phoenix does individual checkouts per query - so phoenix does thousands and thousands of db conn checkouts..

the benchmark setup is not real world production - from anything I know about or have ever heard about running in production like this.

also these tests are usually heavy on json serialization - does phoenix use the newer faster Jason - or even native jiffy? (the ruby json serializer is written in c - most likely also the .net one etc.)

ecto 3.0 should be getting the possibility for explicit checkout of the db conn - which will be beneficial for these benchmarks and for query heavy real world endpoints(real world: I do 8-10 db queries on channel join in my app - holding the conn might be beneficial).

using the jason json serializer should also 2x-ish the json part of the benchmark..

honestly, you should not use or give any value to the techempower benchmarks..

1 Like