- El flujo de trabajo de procesamiento, por ejemplo, el número de etapas
- La configuración de procesamiento, como la mejora de imagen, el modo de reconocimiento y la configuración de exportación
- La implementación de etapas personalizadas, incluidos los motores personalizados, las reglas de script y el acceso a recursos externos
- El hardware

Relación entre el rendimiento y el número de núcleos de procesamiento
- El proyecto de demostración
SingleEntryPoint, con procesamiento desatendido y exportación a archivos PDF - Para páginas en blanco y negro, estaciones de procesamiento de 10 núcleos a 2.4 GHz con 16 GB de RAM, un SSD y una NIC de 1 Gb/s
Estime el número de núcleos de procesamiento
Mida cuánto tarda un núcleo en procesar una página y, a continuación, divida el volumen objetivo entre ese valor.- Configure el flujo de trabajo de su proyecto, elija la estación de procesamiento con un hardware lo más parecido posible al de su entorno de producción y cree un lote típico de imágenes.
- Mida cuánto tarda un núcleo en procesar un lote. Procesar un lote una sola vez no es suficiente. Durante la prueba, FlexiCapture distribuye el trabajo entre todos los núcleos disponibles, por lo que el lote termina más rápido de lo que terminaría en producción. En producción, los demás núcleos están ocupados con otros lotes. Para obtener una cifra fiable, cree varias copias de su lote típico y procéselas todas a la vez. Use al menos tantas copias como núcleos haya, e idealmente N veces más, donde N ≥ 3. El tiempo por lote y por núcleo es el tiempo total de procesamiento dividido entre N. Esto también tiene en cuenta que los núcleos compiten por los recursos compartidos de la estación.
-
Calcule el número de núcleos que necesita:
donde P es el número de páginas que se van a procesar, t es el tiempo necesario para procesar una página y T es el tiempo disponible.
Ejemplo práctico
- Una estación de procesamiento de 8 núcleos con Hyper-Threading ofrece 16 núcleos lógicos (16 procesos en ejecución).
- Cree 16 × 3 = 48 copias de un lote típico (×3 para reducir el error de medición) y procéselas todas a la vez.
- La ejecución tarda 15 minutos. Cada núcleo procesa 3 lotes, por lo que un lote tarda unos 5 minutos.
- El lote tiene 69 páginas, por lo que una página tarda unos 4,35 segundos.
- Para procesar 200.000 páginas en 8 horas (28.800 segundos): N = (200.000 × 4,35) / 28.800 ≈ 31 núcleos.
- Por lo tanto, 2 estaciones de procesamiento con 8 núcleos cada una y Hyper-Threading (32 núcleos lógicos en total) bastan para el procesamiento automático.
Factores limitantes
Dos factores limitan el número efectivo de núcleos de procesamiento en el Sistema.Carga de la infraestructura
La carga total de la infraestructura puede crear cuellos de botella:- En el hardware del servidor de FlexiCapture
- En la red
- En recursos compartidos externos (como bases de datos y servicios externos) a los que acceden scripts de procesamiento personalizados
Capacidad del Processing Server
El Processing Server solo puede gestionar un número limitado de núcleos de procesamiento. Este número depende del tiempo medio que necesita un núcleo para realizar una tarea. A su vez, la duración de la tarea depende en gran medida del número de páginas por lote y de las personalizaciones implementadas. Por lo general, con unos 10 páginas por lote, el Processing Server puede gestionar 120 núcleos de procesamiento. Los scripts personalizados muy rápidos o los lotes de una sola página reducen considerablemente el tiempo medio de las tareas. Esto puede disminuir ligeramente el número máximo de núcleos que puede gestionar el Server. Para detectarlo, supervise el número de núcleos de procesamiento libres en el Processing Server. Se ha alcanzado el límite cuando hay una cola de documentos en espera, pero el número de núcleos ocupados se ha estabilizado y casi nunca aumenta. Para resolverlo:- Siempre que sea posible, procese el lote completo sin dividirlo en tareas pequeñas (consulte las Propiedades de la etapa en el cuadro de diálogo de configuración del workflow).
- Procese las páginas en bloques más grandes de alguna de las siguientes maneras:
- Aumente el número medio de páginas por lote
- Fusione varias etapas personalizadas en una sola
- Traslade la personalización a una etapa estándar; por ejemplo, añadiéndola a un evento de enrutamiento en el script de esa etapa
