I am currently learning Elixir. I have read a handful of posts on this.
What I am saying may not be completely accurate or old(since I only read
about these in various blogs)

Assuming you are building a front-end web server which serves json? If not,
RPC would be a faster mechanism to use rather than exposing http endpoints.
Also, minor note: json is slower compared to rest of the encodings like
msgpack if this is an option. (Link to Uber Blog
<https://eng.uber.com/trip-data-squeeze/> where analysis was made)

You need to set MIX_ENV=prod when compiling elixir
http://www.slideshare.net/petegamache/real-world-elixir-deployment#23
Note: t2.medium is 2 vCPUs with 4 Gigs.

May be you don't even need all the Plugs which Phoenix library provides by
default like Cookies etc., esp., given you don't use ecto.

Also, horizontal scaling is another aspect you might want to consider to
show scale up and scale down.
Also, there is a note about no. of open File Descriptors by default Linux
has. Change that to infite.

I have not seen/read many blog posts where Docker is used for Elixir. May
be, you could try it on a bigger box on Heroku if possible to get a end to
end benchmark (which also takes care of network connectivity)


On Fri, Jun 10, 2016 at 10:50 AM, Matt Hornsby <[email protected]>
wrote:

> Hi all - I could use some help. I am currently evaluating Elixir and
> Phoenix for a performance-critical application for a Fortune 500 company.
> This could be another great case study for Elixir and Phoenix if I can show
> that it can meet our needs. Initial performance testing looked phenomenal,
> but I am running into some performance concerns that will force me to
> abandon this tech stack entirely if I cannot make the case.
>
> The setup: an out-of-the box phoenix app using mix phoenix.new. No ecto.
> Returning a static json response. Basically a hello-world app.
> The hardware
>
>    - Macbook Pro, 16gb, 8 core, 2.5ghz, running elixir/phoenix natively,
>    and also using docker container
>    - Amazon EC2 T2.Medium running Elixir Docker image
>
> The tests: used ab, wrk, siege, artillery, curl with a variety of
> configurations. Up to 100 concurrent connections. Not super scientific, i
> know... but
>
> No matter what I try, Phoenix logs out impressive numbers to stdout -
> generally on the order of 150-300 microseconds. However, none of the load
> testing tooling agrees. No matter the hardware or load test configuration,
> I see around 20-40 ms response times. The goal for the services that I am
> designing is 20ms and several thousand requests per second. The load tests
> that Chris McCord and others have published suggest that I should be able
> to expect 3ms or less when running localhost, but i'm not seeing anything
> close to that.
>
> Would anyone be willing to work with me to look at some options here? I'd
> be incredibly grateful. Don't make me go back to Java, please :)
>
> --
> You received this message because you are subscribed to the Google Groups
> "elixir-lang-talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elixir-lang-talk/6a625e85-8c8d-43c7-9c1b-a204db09307a%40googlegroups.com
> <https://groups.google.com/d/msgid/elixir-lang-talk/6a625e85-8c8d-43c7-9c1b-a204db09307a%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-talk/CAGDxsup9v_6OnVeWngopnyZ-4y%3Dy6k%3DkjQC0EwzXY_AW4tUt7w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to