Apa kemungkinan penyebab timeout Layer 4 dan Layer 7 di HAProxy?

Sep 01 2020

Saya menyalin pertanyaan Stackoverflow saya: https://stackoverflow.com/q/63683206/6344947

Saya melihat bahwa saya mendapatkan 503 untuk aplikasi saya ketika saya menekan API. Ketika saya memeriksa statistik HAProxy LB untuk contoh saya, saya menemukan bahwa salah satunya menunjukkan batas waktu Layer 4 dan yang lainnya menunjukkan batas waktu Layer 7.

Tangkapan layar statistik HAProxy LB: https://i.stack.imgur.com/6Vtnc.png

Instance tersebut memiliki proses Java yang berjalan di dalamnya yang bertindak sebagai layanan backend. Saat memulai kembali proses, saya menemukan bahwa semuanya kembali normal.

Jadi apakah ada cara untuk mengetahui apa penyebabnya? Mungkinkah karena masalah kehabisan memori juga? Saya telah melihat log, tetapi tidak ada yang terkait dengan OOM; juga, kami memiliki masalah OOM di masa lalu - tetapi pada saat itu saya tidak memeriksa statistik HAProxy.

Bantuan apa pun akan dihargai.

Jawaban

tbielaszewski Sep 01 2020 at 18:27

Layer 4 berarti ada waktu tunggu menunggu jabat tangan TCP, mungkin server sedang down? Lapisan 7 berarti ada waktu tunggu menunggu jawaban HTTP, jadi aplikasi berjalan (mungkin mulai?), Mendengarkan pada port yang ditentukan dan menerima koneksi TCP, tetapi tidak memberikan respons HTTP tepat waktu. Mungkin masih diluncurkan? Beberapa aplikasi java membutuhkan waktu beberapa menit untuk benar-benar dimulai. Kedua kasus tersebut lebih menunjukkan masalah dengan aplikasi backend dan bukan masalah dengan haproxy itu sendiri. Saya akan mengatakan sudah waktunya untuk memeriksa log dari aplikasi java ini.