Red de conocimiento informático - Material del sitio web - Cómo entender la concurrencia de trabajadores y la existencia de múltiples trabajadores en el apio

Cómo entender la concurrencia de trabajadores y la existencia de múltiples trabajadores en el apio

Extraje los comentarios debajo de la publicación en v2

Publicación original: /t/593748#r_7793688

Segunda respuesta, más detallada:

Respuesta 1: < / p>

Una fábrica (trabajador) tiene un empleado (programa de entrada única (hilo)). Para mejorar la eficiencia, se pide a varios empleados que trabajen juntos (multiproceso de un solo trabajador).

Para evitar cortes de energía, esto Si la fábrica no puede funcionar, entonces construya varias fábricas más, cada una con varios empleados (varios trabajadores y múltiples procesos)

De hecho, todas están logrando concurrencia

Un solo trabajador puede iniciar n procesos a trabajar, si un trabajador muere, todos los procesos a menudo morirán

Varios trabajadores pueden iniciar n procesos para trabajar, y si un trabajador muere, todos los procesos morirán

Muchos Un trabajador puede iniciar n procesos para funcionar.

Varios trabajadores, asumiendo m, pueden entenderse como distribuidos para evitar que un determinado trabajador se cuelgue (o un rendimiento insuficiente, etc.), lo que resulta en la incapacidad de trabajar

Multi-Worker Worker puede abrir n procesos para que funcionen, y la suspensión de un Worker a menudo suspenderá todos los procesos. ), lo que resulta en una falla en el trabajo

Entonces, en teoría, la cantidad de tareas que se pueden procesar simultáneamente es m * n

En términos generales, los trabajadores (no solo el apio, muchos diseños son así ) Se refiere a un proceso principal de programación

¿Cuáles son las desventajas de Worker?

Es más común implementar varios Workers en diferentes máquinas

Ignore el problema. de máquinas y procesos A partir de , la eficiencia de un Trabajador con 8 procesos es cercana a la eficiencia de un Trabajador con 4 procesos

Respuesta 2:

Dentro del apio, hay. mucho trabajo por hacer. p>

El parámetro -c en apio especifica el grado de concurrencia, mientras que el parámetro -P especifica la forma de lograr la concurrencia, que puede ser prefork (predeterminado), eventlet, gevent, etc., donde prefork Es un método multiproceso para lograr la concurrencia.

Como comprenderá, varios trabajadores corresponden a múltiples procesos, y la forma de lograr la concurrencia en cada trabajador es el método gunicorn. Los parámetros especifican el método de concurrencia de cada trabajador, que puede ser multiproceso o múltiple. -coordinación. También se puede especificar como sincrónico, lo que significa que el trabajador es sincrónico, es decir, no concurrente.

Por ejemplo, la sincronización -w 10 -k de gunicorn es equivalente a la prefork -c 10 -P de apio, que crea 10 procesos concurrentes y el número máximo de concurrencias es 10.

Otro ejemplo es el gevent -c 10 -P de apio, que crea 10 subprocesos gevent para la concurrencia, con una concurrencia máxima de 10. -w 10 -k gevent de gunicorn crea 10 procesos, cada proceso es un proceso asincrónico gevent y la cantidad de concurrencia es muy alta.