Puncte:0

Implicații ale limitei CPU pentru o aplicație Java (tomcat) care rulează docker?

drapel tk

Am avut o problemă în curs de desfășurare la rularea unei aplicații web Tomcat java într-un container docker (la care mă refer ca „sarcină” în această postare) găzduit într-un ECS (serviciu de container elastic) pe AWS.
Observăm că sarcina crește la 97% de utilizare a procesorului (folosind valorile AWS) și, deși uneori scade la o utilizare mai mică a procesorului de la sine, sarcina se oprește în general.
Din fericire, ECS generează o nouă sarcină de andocare și pornește din nou aplicația (deși, este nevoie de 5-10 minute pentru ca totul să revină online, ceea ce reprezintă o perioadă uriașă de timp în timpul zilei noastre de producție!)

Nu avem nicio limită superioară pentru sarcina ECS configurată (poate că ar trebui?) â â într-un proiect anterior am crescut CPU pe gazda ECS de la 8 vCPU, la 32 vCPU și, desigur, acest docker special sarcina a urcat la 97% din procesorul gazdă ECS în mod persistent pe tot parcursul proiectului.

Săptămâna aceasta am mărit CPU-ul de la 8 vCPU, la 16 vCPU (și o memorie de 64 GB).
Și văd același lucru. Am crescut limita de memorie soft a sarcinii la 4 GB (a fost setat inițial la 2 GB) și văd că utilizarea memoriei crește, dar cu siguranță nu depășește aproximativ 6 GB.

Urmând urmărirea stivei, (care este prea lungă pentru a fi postată), nu există nicio eroare de memorie lipsită înregistrată de aplicația tomcat/java.
De obicei, începe cu o eroare JDBC (conexiuni maxime/pool epuizat), apoi lucrurile sunt anulate, sistemul de înregistrare se închide etc.

Gazda ECS închide sarcina sau sarcina se închide după ce atinge constrângerile CPU/memorie (java/tomcat se închide)? În plus, în jurnalul agentului nostru ECS pot vedea o declarație despre „Ieșirea 143” -- terminarea sarcinii din ECS sau containerul însuși iese? Cel mai bine ar fi să setați o limită superioară a CPU pentru sarcină (în ceea ce privește memoria JVM, folosind tot ce este disponibil pentru aceasta)?

djdomi avatar
drapel za
Chiar crești un procesor în gigaocteți? Adică, numărul de Cores ar fi foarte mare?!
djdomi avatar
drapel za
Actualizați-vă întrebarea modificând-o și eliminați acest comentariu

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.