2012-10-11 31 views
17

Tengo una pregunta para administradores de sistemas y desarrolladores. veo que uWSGI me permite establecer el número o los trabajadores o procesos cuando se ejecuta uWSGI y yo había leído que depende de la máquina instalada, así que tengo las siguientes preguntas:uwsgi: ¿Qué define la cantidad de trabajadores/proceso que necesita una aplicación django?

  1. ¿Cuáles son las reglas que definen el número de trabajadores para la máquina?
  2. Cuando se usa con nginx, ¿lo afecta la configuración worker_processes en nginx.conf?
  3. Cuando se usa con Apio y Redis, ¿está relacionado el concurrency con esto?
  4. ¿Qué pasa con la seguridad de la rosca en esta configuración? (He visto casos en mi aplicación en la que 1 solicitud ejecuta 1 tarea y el resultado es 2 llamadas a apio con esta tarea.)
+0

su último punto no está relacionado con la configuración de uwsgi. (es posible que desee abrir una nueva pregunta para eso [con sus configuraciones de apio]) –

+0

¿está seguro? ¿Puedes responder por qué? – panchicore

Respuesta

13
  • ¿Cuáles son las reglas que definen el número de trabajadores de la máquina?

    Desde el uWsgi docs:

    No hay una regla mágica para establecer el número de procesos o hilos. Es dependiente de la aplicación y del sistema. No piense que usar matemáticas simples como 2 * cpucores será suficiente. Necesitas experimentar con varias configuraciones y monitorear constantemente tu aplicación. uwsgitop podría ser una gran herramienta para encontrar el mejor valor.

  • Cuando se utiliza con nginx, la configuración "worker_processes" en nginx.conf afectó esto?

    Esa configuración solo está relacionada con nginx y no afecta directamente a uwsgi. Sin embargo, es probable que necesite retocar con esta configuración porque no desea tener veinte nginx worker_processes y solo un trabajador uwsgi.

  • Al usar con apio + redis, ¿la "concurrencia" está relacionada con esto?

    Suelo girar el daemon de Aplery con manage.py de django, por lo que funcionará fuera de uwsgi.

  • ¿Qué pasa con la seguridad de la rosca en esta configuración?

    Tendría que saber más detalles/específicos para comentar.

+0

seguridad de subprocesos: me refiero a seguridad de subprocesos en un entorno configurado con proceso nginx 1 worker_process + uwsgi 2 workers + apio 4. He visto casos en mi aplicación donde 1 solicitud ejecuta 1 tarea y el resultado son 2 llamadas a apio con esta tarea. – panchicore

Cuestiones relacionadas