Puncte:0

Modulul de evenimente Apache 2.4 MPM care provoacă erori 502 intermitente și timpi de răspuns lenți în spatele unui AWS Application Load Balancer (ALB)

drapel cn

tldr; Cum configurați modulul de evenimente Apache MPM ca un proxy invers funcțional atunci când rulați în spatele unui AWS Application Load Balancer de mare capacitate?

Aspect

AWS Application Load Balancer -> Apache 2.4.x -> AWS Internal TCP Load Balancer (NLB) -> Jetty App Servers

Utilizarea setării de configurare afișată mai jos pentru modulul de evenimente Apache MPM nu este stabilă în spatele unui echilibrator de încărcare a aplicației AWS. Timpii de răspuns sunt mult măriți și cererile eșuează intermitent pentru erorile 502 returnate de ALB.

Configurația lucrătorului

ServerLimit 250
StartServers 100
MinSpareThreads 75
MaxSpareThreads 250
ThreadLimit 64
ThreadsPerChild 64
MaxRequestWorkers 8000

Configurare ProxyPass

enableruse=on dobândire=10 connectiontimeout=2 timeout=55 max=400 retry=0 keepalive=on

Eveniment MPM vs lucrător MPM

Trecerea la modulul de lucrător MPM arată îmbunătățiri instantanee ale timpilor de răspuns, iar erorile 502 dispar complet.

Timp de răspuns țintă - eveniment MPM pentru lucrătorul MPM

502 Erori - eveniment MPM pentru lucrătorul MPM

Depanare

Am reușit să urmăresc cele 502 erori returnate de ALB până la 408 erori returnate de Jetty. Jetty pare să arunce erorile din cauza timeout-urilor pentru citirea cererii.

Rularea Ubuntu 20.04 cu Apache 2.4.41-4ubuntu3.8.

Note interesante

  • Solicitările prin intermediul unui AWS Network Load Balancer (NLB) către aceleași instanțe Apache răspund rapid și nu afișează erori 502
drapel cn
Diferența cu NLB poate fi că NLB-urile funcționează la un strat inferior decât ALB-urile. Pot să întreb de ce apache este la mijloc? De ce să nu aveți ruta ALB către serverele Jetty?
drapel cn
@shearn89 este un WAF: https://github.com/SpiderLabs/ModSecurity
drapel cn
De ce să nu folosiți în schimb AWS WAF, care este probabil mai ieftin decât rularea unei întregi instanțe EC2? plus că este gestionat pentru tine, așa că trebuie doar să activezi câteva reguli gestionate de AWS și ești gata!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.