Bagaimana untuk membuat Tomcat mengalih keluar secara automatik dari nginx hulu sebelum GC untuk mengelakkan tamat masa?
为情所困
为情所困 2017-05-16 17:21:13
0
1
653

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.

为情所困
为情所困

membalas semua(1)
淡淡烟草味

Tomcat mempunyai pendengar untuk mengelakkan limpahan ingatan:

org.apache.catalina.core.JreMemoryLeakPreventionListener

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan