Actions
Idea #20468
closedInstaller supports nginx/passenger config tuning for performance
Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Deployment
Target version:
Start date:
05/04/2023
Due date:
Story points:
-
Release:
Release relationship:
Auto
Description
The installer needs to have config knobs for the following:
Controller/RailsAPI node /etc/nginx/nginx.conf
¶
worker_processes
config (depends on nr of instance cores). Maybe having a setting with the amount of workers per core? Salt may be able to act on the number of cores (grains) without needing to specify it.worker_rlimit_nofile
config. This may also need somesystemd
nginx
's unit file tweaking. We're using this setting at 4096.events.worker_connections
config. We are using this setting at 1024.
RailsAPI node /etc/nginx/conf.d/mod-http-passenger.conf
¶
passenger_max_pool_size
config. Same concept asworker_processes
above.passenger_max_request_queue_size
config. Related to arvados config'sAPI.MaxConcurrentRequests
, maybe a 1:1 ratio?
Updated by Lucas Di Pentima over 1 year ago
- Status changed from New to In Progress
Updated by Brett Smith over 1 year ago
Lucas Di Pentima wrote:
worker_rlimit_nofile
config. This may also need somesystemd
nginx
's unit file tweaking. We're using this setting at 4096.
Quoting systemd.exec(5):
Resource limits not configured explicitly for a unit default to the value configured in [DefaultLimitNOFILE] available in systemd-system.conf(5), and – if not configured there – the kernel [default]…
As long as the system's hard limit is well over 4096, I wouldn't worry about it.
Updated by Lucas Di Pentima over 1 year ago
Updates at 50c726f1a - branch 20468-installer-perf-knobs
- Adds a couple of optional env vars to
local.params
(CONTROLLER_NGINX_WORKERS
&CONTROLLER_MAX_CONCURRENT_REQUESTS
) to be able to easily configure passenger, nginx & controller. - Adds better defaults to nginx's
worker_rlimit_nofile
&events.worker_connections
configs.
These changes were only applied to the multi-host case, as the single host can continue using the defaults and it's not meant for production use.
Updated by Lucas Di Pentima over 1 year ago
- % Done changed from 0 to 100
- Status changed from In Progress to Resolved
Applied in changeset arvados|64639ed6313f01016da4e0ffd81752dedf9b052b.
Actions