Nasadit Java aplikaci na server s vychozim JVM nastavenim je jako koupit sportovni auto a jezdit jen na dvojku. Spravne nastaveni muze znamenat rozdil mezi 100 ms a 5 sekund response time.
Heap size¶
Zakladni pravidlo: -Xms a -Xmx nastavte na stejnou hodnotu. Dynamicke zmeny heap size zpusobuji full GC pauses. Na serverech s 16 GB RAM typicky alokujeme 8-10 GB pro JVM heap. PermGen: 256-512 MB pro enterprise aplikace.
Garbage Collection — CMS¶
Pro webove aplikace pouzivame Concurrent Mark Sweep collector. Parallel GC ma lepsi throughput, ale jeho stop-the-world pauses mohou trvat sekundy. CMSInitiatingOccupancyFraction=70 — CMS zacne pri 70 procent zaplneni old generation.
GC logging¶
Na kazdem produkcnim serveru zapnute GC logovani. Analyzujeme nastrojem GCViewer. Cilove metriky: minor GC pod 50 ms, full GC mene nez 1x za hodinu, celkovy GC cas pod 5 procent.
Thread stack a monitoring¶
Snizenim -Xss na 512 KB usetrite pamet pro vice threadu. JMX monitoring pres Nagios: heap utilization, thread count, GC activity. Alert pri heap nad 85 procent.
Shrnuti¶
Xms = Xmx. CMS pro webove aplikace. GC logovani vzdy zapnute. Monitorujte pres JMX. Testujte pod zatezi na staging pred produkci.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns