Tomcat akan perform fullgc sekali-sekala Jika nginx menghantar permintaan pada masa ini, permintaan akan tamat masa.
Salah satu penyelesaian adalah dengan menetapkan masa tamat yang lebih pendek di sebelah nginx Jika tiada tindak balas, tukar mesin untuk menghantar semula permintaan tersebut
Saya ingin bertanya, adakah terdapat mekanisme di mana nginx secara automatik mengeluarkan tomcat sebelum gc, dan kemudian secara automatik menambahnya semula selepas gc selesai?Ringkasnya, ia adalah untuk mengelakkan impak tamat masa yang disebabkan oleh tomcat gc~
PS:
Hulu nginx disediakan dengan berbilang kucing jantan selagi gc berlaku pada satu mesin, semua permintaan yang jatuh pada mesin ini akan tamat masa.
Tomcat mempunyai pendengar untuk mengelakkan limpahan ingatan:
Saya mengesyaki ia disebabkan oleh pelarasan System.gc(), dan GC ini mungkin menggunakan kaedah stop the world, yang bermaksud ia bukan serentak. Anda boleh mencuba dua pilihan berikut:
1.-XX:+ExplicitGCInvokesConcurrent GC
.2 Lumpuhkan pendengar atau lumpuhkan panggilan terus dari peringkat JVM -XX:+DisableExplicitGC
Kemudian perhatikan sebentar.