Directiva KeepAliveTimeout & MaxKeepAliveRequests – Controlul ciclului de viață KeepAlive în Apache HTTP Server

Stabilește numărul de secunde în care un socket rămâne deschis în așteptarea unei noi cereri și numărul maxim de cereri permise.

Sintaxă
KeepAliveTimeout 5
MaxKeepAliveRequests 100

Ce face Directiva KeepAliveTimeout & MaxKeepAliveRequests - Controlul ciclului de viață KeepAlive

KeepAliveTimeout determină câte secunde va aștepta Apache o nouă cerere de la același client înainte de a închide conexiunea TCP inactivă.

O valoare prea mare (ex: 60 secunde) pe un server aglomerat cu MPM Prefork va bloca procesele worker în așteptare, epuizând sloturile libere.

O valoare de 2 până la 5 secunde este ideală pentru a permite browserului să descarce toate resursele paginii curente, eliberând rapid resursa pentru alți clienți.

MaxKeepAliveRequests (de regulă 100) previne scurgerile de memorie prin reciclarea conexiunii după un număr fix de cereri.

Exemple

Exemplul 1: Reglarea fină a timeout-ului KeepAlive pentru trafic intens

Optimizează reciclarea rapidă a conexiunilor pe servere ocupate.

KeepAliveTimeout 3
MaxKeepAliveRequests 150

Ieșire în terminal

Conexiunile inactive sunt închise după 3 secunde de liniște.

Greșeli frecvente

  • Setarea KeepAliveTimeout la 15-30 secunde; pe servere cu trafic mare, această setare poate provoca blocaje prin epuizarea numărului de conexiuni simultane (MaxRequestWorkers).

Comenzi înrudite