Please help with the following questions

Hi Team, please kindly advise on the below

  1. A logging framework for elixir that rotates logs on daily basis.
  2. How to deploy elixir in production without phoenix
  3. Best way to use :ets (I believe using ETS within a GenServer might cause performance issues since it will be a single point of access)
  4. Best practices on deploying elixir on linux
  5. Default concurrent request that can be handled by phoenix and how to modify this

Thanks a lot, elixirforum makes life worthwhile.

systemctl enable logratete.timer should do it, assuming logrotate is installed.

Currently distillery, beginning from elixir 1.9 perhaps the built-in releases.

That built release either caught in a docker container or controlled by systemd on the target host.

Beware of the necessity to built on a system that is as similar to your target as possible. Because of that I tend to build in docker and minimal VMs as often as possible.

This depends on your actual use case. But to be honest, this is exactly where I’d start. An ETS table that only a single process has access to, and only when that becomes a problem making the table (semi-)public and concurrent-read/-write depending on the need. And further tuning the options.

What do you mean by this?

1 Like

That’s for the swift reply.
On the last question; Phoenix runs the cowboy server, I was wondering the number of concurrent request per second it can handle by default and how to modify this option.

Well, it depends… Mostly limited by what it has to do computationally to fulfil your requests and what hardware you throw at the task.

This number tends to be greater than 0.

1 Like

I think walking the staircase of complexity is generally speaking best. With that in mind it’s entirely possible that you might get away with doing the simplest thing which in many cases might just be one process holding access to ETS.

1 Like

Great. Thanks.