Tipos de subprocesos en ThingWorx
Los siguientes subprocesos están generalmente disponibles por defecto en el entorno de ThingWorx. En función de la base de datos o las personalizaciones, es posible que se vean algunos tipos de subproceso adicionales.
https nio (número de subprocesos: entre 1 y más de 1024)
Subprocesos que se utilizan para solicitudes de usuario o cargas útiles de REST. Inicialmente, todas las solicitudes externas pasan a través de los subprocesos de nio (E/S de no bloqueo) antes de ejecutarse en otro tipo de subproceso. Se pueden configurar más de 1024 subprocesos. En Apache Tomcat, el número de subprocesos por defecto es 150.
WSExecutionProcessor (número de subprocesos: más de 1000)
Los subprocesos que se utilizan para las comunicaciones de dispositivos remotos, por ejemplo, Kepware. Por lo general, solo algunos de estos subprocesos se ejecutan de manera activa; estos subprocesos están en estado de espera el 99 % del tiempo. Estos subprocesos se configuran mediante el subsistema de procesamiento de ejecución WebSocket. Se identifica un obstáculo en la comunicación del dispositivo si todos estos subprocesos están ocupados o si en el subsistema de procesamiento de ejecución WebSocket se muestra una cola de eventos cada vez mayor.
TWEventProcessor (número de subprocesos: más de 16)
Subprocesos que se utilizan para ejecutar código de todos los eventos, temporizadores y programadores. Cuando estos subprocesos están ocupados, los eventos se envían a una cola. Si la cola realiza copias de seguridad de manera significativa, puede afectar al rendimiento del servidor. Si todos los subprocesos de eventos están constantemente ocupados, es posible que el servidor empiece a dejar de estar receptivo y no responda a la entrada del usuario. Estos subprocesos son uno de los tipos de subproceso principales y se recomienda supervisarlos. El número de subprocesos activos es configurable y se puede supervisar mediante el subsistema de procesamiento de eventos. Se puede identificar un obstáculo en la ejecución de eventos, temporizadores o programadores si todos los subprocesos de este tipo están ocupados. En este caso, el elemento activeThreads del subsistema del procesador de eventos es elevado de forma constante y existe una cola de eventos cada vez mayor en este subsistema en ThingWorx Composer.
C3P0 (número de subprocesos: entre 3 y 8)
Subprocesos que gestionan todas las conexiones de base de datos. Si los subprocesos están bloqueados durante largos períodos, se producen incidencias de acceso a la base de datos.
Temporizador o programadores (número de subprocesos: entre 30 y 40)
Subprocesos que se utilizan para supervisar y activar programadores y temporizadores. La ejecución del código se produce en los subprocesos TWEventProcessor. Estos subprocesos no realizan un trabajo de procesamiento significativo. Calculan el tiempo de los eventos que son necesarios para iniciar el procesamiento adicional.
pool (número de subprocesos: más de 40)
Subprocesos que se utilizan para escribir propiedades persistentes y entradas de flujo y de flujo de valores. Un temporizador interno activa estos subprocesos y la mayoría del tiempo los subprocesos están inactivos. Algunos de estos subprocesos corresponden a los subsistemas de procesamiento de flujo y de flujo de valor. Si la cola de estos subsistemas aumenta, indica incidencias de rendimiento de la base de datos. Los subprocesos correspondientes están saturados con actividad.
Subprocesos asíncronos (número de subprocesos: entre 1 y más de 100)
La lógica empresarial se activa en subprocesos independientes si los servicios subyacentes se marcan como asíncronos. El número de subprocesos asíncronos puede tener un pico tan alto como varios mil. El nombre del servicio que activa el subproceso forma parte del nombre del subproceso.
Varios subprocesos de JVM o Tomcat Apache (número de subprocesos: más de 40)
Subprocesos que se utilizan para las operaciones de servidor interno en la capa de Tomcat Apache. Por lo general, estos subprocesos no se analizan, ya que no provocan obstáculos en el rendimiento.
¿Fue esto útil?