WORKER TIMEOUT
, uygulamanızın isteğe belirli bir sürede yanıt veremeyeceği anlamına gelir. Gunicorn zaman aşımı ayarlarını kullanarak bunu ayarlayabilirsiniz . Bazı uygulamaların yanıt vermesi diğerine göre daha fazla zamana ihtiyaç duyar.
Bunu etkileyebilecek başka bir şey , işçi türünü seçmektir
Varsayılan eşzamanlı çalışanlar, uygulamanızın CPU ve ağ bant genişliği açısından kaynağa bağlı olduğunu varsayar. Genellikle bu, uygulamanızın tanımlanmamış bir zaman alan hiçbir şey yapmaması gerektiği anlamına gelir. Tanımlanamayan bir zaman alan bir şeye örnek internet talebidir. Bir noktada harici ağ, istemcilerin sunucularınızda birikeceği şekilde başarısız olur. Dolayısıyla, bu anlamda, API'lara giden istekte bulunan herhangi bir web uygulaması, eşzamansız bir çalışandan faydalanacaktır.
Seninle aynı problemi aldığımda (Docker Swarm kullanarak uygulamamı dağıtmaya çalışıyordum), zaman aşımını artırmaya ve başka bir işçi sınıfı türü kullanmaya çalıştım. Ama hepsi başarısız oldu.
Ve sonra aniden kaynağımı çok düşük şekilde sınırlandırdığımı fark ettim hizmet için . Benim durumumda uygulamayı yavaşlatan şey bu
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
Bu yüzden öncelikle başvurunuzu yavaşlatan şeyleri kontrol etmenizi öneririm
Gunicorn==19.3.1
vegevent==1.0.1