python - uwsgi: ¿Qué define el número de trabajadores/proceso que necesita una aplicación django?
nginx celery (1)
¿Cuáles son las reglas que definen el número de trabajadores para la máquina?
De los documentos de uWsgi :
No hay una regla mágica para establecer el número de procesos o subprocesos. Es dependiente de la aplicación y del sistema. No piense que usar matemáticas simples como 2 * cpucores será suficiente. Necesita experimentar con varias configuraciones y monitorear constantemente su aplicación. uwsgitop podría ser una gran herramienta para encontrar el mejor valor.
Cuando se usa con nginx, la configuración "worker_processes" en nginx.conf afecta esto?
Esa configuración solo está relacionada con nginx y no afecta directamente a uwsgi. Sin embargo, es probable que tenga que juguetear con esta configuración porque no desea tener veinte nginx
worker_processes
y solo un trabajador uwsgi.Cuando se usa con apio + redis, la "concurrencia" está relacionada con esto?
Por lo general, enciendo el demonio de apio con manage.py de django, así que esto funcionará fuera de uwsgi.
¿Qué pasa con la seguridad del hilo en esta configuración?
Tendría que saber más detalles / detalles para comentar.
Tengo una pregunta para administradores de sistemas y desarrolladores. Veo que uWSGI me permite establecer el número o los trabajadores o los procesos cuando se ejecuta uWSGI y había leído que depende de la máquina instalada, por lo que tengo las siguientes preguntas:
- ¿Cuáles son las reglas que definen el número de trabajadores para la máquina?
- Cuando se usa con nginx, ¿la configuración
worker_processes
en nginx.conf afecta esto? - Cuando se usa con Celery y Redis, ¿está relacionada la
concurrency
con esto? - ¿Qué pasa con la seguridad del hilo en esta configuración? (He visto casos en mi aplicación donde 1 solicitud ejecuta 1 tarea y el resultado es 2 llamadas al apio con esta tarea).