Saya curiga:
(Saya mencoba memposting pertanyaan ini ke milis Gunicorn, tetapi saya tidak dapat menemukan instruksi yang jelas tentang bagaimana melakukannya secara langsung. Jadi semoga membuat masalah Github adalah rute yang benar.)
Ini adalah tempat yang bagus untuk itu :) Anda dapat menemukan beberapa informasi di sana: http://docs.gunicorn.org/en/stable/design.html
bagaimanapun itu akan tergantung. Dengan Gunicorn di belakang NGINX, bahkan pekerja sinkronisasi dapat menerima banyak koneksi. Ini akan menangani permintaan N secara bersamaan (di mana N adalah jumlah pekerja) sementara Anda dapat memiliki banyak menunggu di buffer nginx. Saya kebanyakan kasus ini cukup untuk menjalankan situs web yang sangat besar dengan lebih dari 10K koneksi simultan.
Untuk penggunaan lain, Anda memiliki pekerja async. Sementara NGINX atau proxy apa pun yang dapat menyangga koneksi akan terus membantu pekerja ini akan memungkinkan Gunicorn untuk menangani lebih banyak koneksi bersamaan atau membuat beberapa koneksi tetap terbuka untuk waktu yang lama.
Semoga saya menjawab pertanyaan Anda.
Untuk menjawab tentang Gunicorn saja:
Pengaturan backlog menentukan seberapa dalam backlog mendengarkan OS. Jika backlog penuh, permintaan akan ditolak oleh OS dan gateway akan mengalami kegagalan koneksi upstream. Jika backlog tidak penuh, koneksi akan dibuka oleh OS, tetapi tidak akan ditangani oleh Gunicorn hingga pekerja Gunicorn siap menerima permintaan tersebut. Gateway dapat mengembalikan batas waktu upstream jika Gunicorn tidak menangani permintaan dengan cepat.
Jika Anda menemukan bahwa Anda memiliki banyak batas waktu upstream dan Anda menjalankan proxy terbalik di depan Gunicorn, Anda mungkin ingin menurunkan backlog sehingga proxy Anda dapat gagal lebih efisien.
Terima kasih. Jawaban ini membantu.