How Elixir Helped Us Scale Our Video User Profile Service for the Olympics
1–7 of 7 posts
Re: How Elixir Helped Us Scale Our Video User Profile Service for the Olympics
#2Nice, that's tangible direct money-in-the-pocket results you can take an owner and make a case for a technology. Can talk about functional features, or advantage of actor based paradigm for concurrency but something tangible like that is hard to beat. They might answer with something like "I don't know anything about beams and elixirs but this looks good for the bottom line, let's adopt that".
Re: How Elixir Helped Us Scale Our Video User Profile Service for the Olympics
#3> reduced from 93 containers with 2GB of RAM to 33 containers, 30 (with 2GB of RAM) for the RoR routes and 3 (with 1GB of RAM) for the Elixir POST route. Nice, that's tangible direct money-in-the-pocket results you can take an owner and make a case for a technology. Can talk about functional features, or advantage of actor based paradigm for concurrency but something tangible like that is hard to beat. They might ans…
Re: How Elixir Helped Us Scale Our Video User Profile Service for the Olympics
#4> reduced from 93 containers with 2GB of RAM to 33 containers, 30 (with 2GB of RAM) for the RoR routes and 3 (with 1GB of RAM) for the Elixir POST route. Nice, that's tangible direct money-in-the-pocket results you can take an owner and make a case for a technology. Can talk about functional features, or advantage of actor based paradigm for concurrency but something tangible like that is hard to beat. They might ans…
Cheers,
Emerson
Re: How Elixir Helped Us Scale Our Video User Profile Service for the Olympics
#5> reduced from 93 containers with 2GB of RAM to 33 containers, 30 (with 2GB of RAM) for the RoR routes and 3 (with 1GB of RAM) for the Elixir POST route. Nice, that's tangible direct money-in-the-pocket results you can take an owner and make a case for a technology. Can talk about functional features, or advantage of actor based paradigm for concurrency but something tangible like that is hard to beat. They might ans…
Hi rdtsc, I'll write a detailed article about the implementation, as I said in the original article. When it's ready, I'll put here, ok? Cheers, Emerson
Re: How Elixir Helped Us Scale Our Video User Profile Service for the Olympics
#6Just a standard case for using fast compiled languages (Java/C#/Erlang/Scala...) vs slow interpreted mono-core languages (python/ruby/php...).
Python and Erlang shop here. Last time I was performance testing some python applications.
2-3 ms for decoding the request (gunicorn internals) + 0.5 for flask + 0.3 ms for newrelic + 0.2 ms for sentry + 0.5 ms spent in the application code (a simple return "hello").
That's a total of 2-5 ms of power and time wasted, not running the application code and creating latency for all calls.
Add that the webserver has to fork to X processes to handle requests in parallel because each request is blocking by design (cf. "global interpreter lock" and common webservers internal).
When the ecosystem (webservers/interpreter/languages) is slow & ineffective (i.e. ruby/python/php). So will be all the applications written on it.
It's trivial to double the performance and half the hardware by switching to a better ecosystem.
Re: How Elixir Helped Us Scale Our Video User Profile Service for the Olympics
#7Not a case for Elixir. Just a standard case for using fast compiled languages (Java/C#/Erlang/Scala...) vs slow interpreted mono-core languages (python/ruby/php...). Python and Erlang shop here. Last time I was performance testing some python applications. 2-3 ms for decoding the request (gunicorn internals) + 0.5 for flask + 0.3 ms for newrelic + 0.2 ms for sentry + 0.5 ms spent in the application code (a simple ret…
Cheers,
Emerson