Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk membuat Tomcat mengalih keluar secara automatik dari nginx hulu sebelum GC untuk mengelakkan tamat masa?

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.

为情所困为情所困2686 hari yang lalu594

membalas semua(1)saya akan balas

  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:23:13

    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.

    balas
    0
  • Batalbalas