Saya memiliki situs lalu lintas yang sangat rendah berjalan di nginx, dengan 4 pekerja, masing-masing 1024 koneksi.
Setiap beberapa jam saya mulai melihat di log kesalahan "1024 worker_connections tidak cukup", dan situs saya melambat / menjadi flakey. Restart nginx menyelesaikan masalah sepenuhnya untuk beberapa jam ke depan.
Jelas sesuatu yang aneh sedang terjadi, tidak mungkin saya melayani pengguna bersamaan 4k dari aplikasi saya.
Selain melihat log akses (yang terlihat normal), apakah ada cara untuk mengamati dengan lebih detail apa yang dilakukan nginx?
Apakah ada beberapa kombinasi konfigurasi terkenal yang mungkin mengakibatkan koneksi lama ditahan terbuka dan tidak ditutup?
Terima kasih.
sunting ini terlihat tidak benar
# lsof |grep nginx |grep CLOSE_WAIT |wc -l
1271
Jawaban:
Tanpa proxy pass / reverse proxy
Dengan proxy terbalik
2 adalah karena Anda membuka koneksi ke apa yang Anda proksi
Namun X adalah banyak koneksi bersamaan yang dibuat klien ini untuk Anda
Untuk melihat koneksi mana yang berkeliaran Anda dapat menjalankan
lsof -i :PORT
. Ini akan menampilkan semua koneksi terbuka ke nginx, dan statusnya.sumber