Skip to content

Instantly share code, notes, and snippets.

@maierru
Last active December 13, 2019 13:10
Show Gist options
  • Select an option

  • Save maierru/d4cb7d0124d2eece80bd07b7a51ad31b to your computer and use it in GitHub Desktop.

Select an option

Save maierru/d4cb7d0124d2eece80bd07b7a51ad31b to your computer and use it in GitHub Desktop.
Phoenix (elixir) highload optimization
config :hlcup, HlcupWeb.Endpoint,
# https://hexdocs.pm/phoenix/endpoint.html => ctrl-f => load_from_system_env
# Let's see from my app Endpont (HlcupWeb.Endpoint)
# def init(_key, config) do
# if config[:load_from_system_env] do
# port = System.get_env("PORT") || raise "expected the PORT environment variable to be set"
# {:ok, Keyword.put(config, :http, [:inet6, port: port])}
# else
# {:ok, config}
# end
# end
# if load_from_system_env is true => http options don't use.
load_from_system_env: false,
# https://hexdocs.pm/plug/Plug.Adapters.Cowboy.html
http: [
ip: {0,0,0,0},
port: 80,
acceptors: 2500,
max_connections: :infinity,
timeout: 2000,
# https://ninenines.eu/docs/en/cowboy/1.0/manual/cowboy_protocol/
protocol_options: [{:max_keepalive, 20000000},{:timeout, 2000}]
],
url: [host: "travels.com", port: 80],
cache_static_manifest: "priv/static/cache_manifest.json",
server: true,
root: ".",
version: Application.spec(:hlcup, :vsn)
# remove any unimportant logger output
config :logger, compile_time_purge_level: :error
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment