Bajetkan socket proksi NGINX sebelum menaikkan worker_connections
Sambungan proksi biasanya menggunakan kedua-dua socket klien dan upstream; bezakan had sambungan worker daripada had deskriptor fail perkhidmatan.
Satu sambungan proksi yang berpanjangan biasanya menduduki dua socket: milik klien dan milik upstream. worker_connections mengira kedua-dua belah. Oleh itu mendarabnya dengan worker_processes tidak menjanjikan keupayaan kepada pengguna proksi.
Apabila sambungan gagal, ikut had yang dilaporkan:
| Bukti | Tetapan atau keadaan proses yang perlu diperiksa |
|---|---|
| kehabisan worker_connections | Bajet sambungan worker, termasuk socket upstream |
| Mesej sistem pengendalian “Terlalu banyak fail terbuka” | Had deskriptor fail yang diwarisi oleh proses perkhidmatan sebenar |
Socket mendengar, log dan fail terbuka lain juga menggunakan deskriptor. Penggunaan semula sambungan dan campuran trafik mengubah hubungan antara pengguna dan socket.
worker_rlimit_nofile melaraskan had worker tertakluk kepada kebenaran persekitaran. Unit systemd boleh menetapkan LimitNOFILE; ulimit dalam shell interaktif tidak mengubah perkhidmatan yang sedang berjalan.
Saizkan had mengikut beban kerja, dan periksa siapa yang menggunakannya. Klien tidak dijangka atau sambungan upstream yang gagal berulang kali boleh menghabiskan bajet yang sebelum ini mencukupi. Bilangan proses atau had memori yang lebih besar tidak membaiki kekurangan deskriptor.