Cogini Blog
Articles by performance

The impact of network latency, errors, and concurrency on benchmarks
The goal of benchmarking is to understand the performance of our system and how to improve it. When we are making benchmarks, we need to make sure that they match real world usage. In my post on Benchmarking Phoenix on Digital Ocean, changing the concurrent connections and network latency had … Read more…

Benchmarking Phoenix on Digital Ocean
Just for fun, I decided to benchmark the performance of the elixir deploy template running on a $5/month Digital Ocean Droplet. Read more…

Avoiding GenServer bottlenecks
GenServers are the standard way to create services in Elixir. At it's heart, a GenServer is a separate process (thread) that receives messages, does some work, manages state, and sends responses back. If that's what you want, great. It's important to recognize, though, that a GenServer only handles one request … Read more…

Presentation on Elixir performance
Here are the slides for the presentation on performance tuning Elixir I gave to the local Elixir user's group. Read more…