Optimising NginX, Node.JS and networking for heavy workloads

Artikeln beskriver hur man optimerar Nginx, Node.js och nätverksinställningar för webbapplikationer med hög belastning, särskilt för att hantera tusentals förfrågningar per sekund. Fokus ligger på att finjustera TCP-nätverksparametrar via sysctl i Linux-distributioner som Ubuntu och Debian för att förbättra genomströmningen och hantera många kortlivade anslutningar. Viktiga nätverksoptimeringar inkluderar att utöka portområdet (net.ipv4.ip_local_port_range), återanvända TIME_WAIT-anslutningar (net.ipv4.TCP_tw_reuse) och minska tcp_fin_timeout. Nginx-konfigurationen kan förbättras genom att använda keepalive för uppströmsanslutningar, ställa in proxy_http_version till 1.1 och rensa "Connection"-headern för att effektivisera TCP-användningen. För Node.js, trots dess eventdrivna design, noteras att det är enkeltrådat och inte automatiskt utnyttjar flera CPU-kärnor, vilket antyder behov av ytterligare processoptimering.