Saltar al contenido principal
FlexiCapture puede procesar desde varios cientos hasta millones de páginas al día y admitir hasta varios miles de operadores. Con las directrices de este documento, es fácil estimar de antemano la carga del sistema y seleccionar tanto la arquitectura adecuada como el hardware de los servidores. El sistema escala de las siguientes maneras:
  • aumentando el número de clientes de digitalización, clientes de verificación y Processing Stations;
  • aumentando la capacidad de las máquinas para los servidores de aplicaciones, procesamiento, licencias y base de datos, así como para FileStorage, y utilizando varias máquinas para estos roles.
Las cifras siguientes ayudan a evaluar o seleccionar una configuración preliminar del componente de servidor de FlexiCapture.

 

20,000

5,000

1,000

8

3

3

 

Demo

1 millón

500,000

300,000

80

100

300

 

Medium

3 millones

2 millones

1 millón

120

500

1,000

 

Large (Medium 10 Gb/s)

Mucho más

 

xLarge (combinación de instalaciones de ABBYY FlexiCapture)

La supervisión de cuellos de botella ayuda a determinar si el hardware utilizado no es suficiente para lograr el rendimiento deseado y si ya es el momento de escalar. Demo es una configuración típica para demostraciones o proyectos piloto, no recomendada para proyectos en producción a gran escala. Todos los componentes del sistema se instalan en una máquina virtual o se implementan en un PC.

ABBYY FlexiCapture

1 equipo:

CPU de 4 núcleos, 2.4 GHz

8 GB de RAM

HDD:

  • 100 GB para el SO y los archivos temporales
  • 100 GB para la base de datos y FileStorage

SO: Windows 2012 o posterior

MS SQL Express puede utilizarse como servidor de base de datos e instalarse en la misma máquina que los servidores de FlexiCapture. En lugar de usar un FileStorage independiente, los archivos pueden almacenarse directamente en la base de datos. Los operadores y las Processing Stations pueden instalarse en la misma máquina.
En proyectos comerciales, la Processing Station nunca debe instalarse en un equipo que aloje servidores de FlexiCapture o el servidor de base de datos, porque acapara todos los recursos y el rendimiento del servidor se deteriora.
Medium es una configuración típica para proyectos comerciales, ya que es escalable: cada componente del servidor se instala en una máquina dedicada. El Servidor de aplicaciones debe instalarse en una máquina dedicada, porque emplea un enfoque de escalado distinto del de servidor de base de datos, Processing Server y Licensing Server.
Técnicamente, el Servidor de aplicaciones, Processing Server y Licensing Server pueden instalarse en el mismo equipo. Se garantizará la redundancia de los servidores, pero no la escalabilidad del Servidor de aplicaciones.
  • El Servidor de aplicaciones es un servicio web en IIS; su escalabilidad y fiabilidad se consiguen mediante un clúster que utiliza la tecnología Microsoft Network Load Balancing. Todos los nodos del clúster son equivalentes, se ejecutan en modo activo-activo y pueden apagarse en cualquier momento.
  • Processing Server y Licensing Server son servicios de Windows; su fiabilidad se consigue creando un clúster activo-pasivo basado en la tecnología Microsoft Failover Cluster.
Microsoft prohíbe expresamente el uso conjunto de estas tecnologías en el mismo equipo. Si solo necesita fiabilidad, cree un clúster del Servidor de aplicaciones dentro de IIS, que también admite la agrupación en clústeres mediante Microsoft Failover Cluster. Licensing Server y Processing Server pueden instalarse en la misma máquina. Recomendamos instalar Database Server en una máquina dedicada. Consume muchos recursos y, si lo combina con otros servidores FlexiCapture, limite su uso de CPU y RAM y ubique los archivos de la base de datos en un HDD físicamente independiente para no afectar al rendimiento del servidor contiguo. Para cargas pequeñas y un mejor rendimiento, puede usar HDD rápidos en la máquina del Servidor de aplicaciones como FileStorage: por ejemplo, discos SATA2 de 15 000 RPM o superiores, configurados al menos en RAID1 para redundancia, o en RAID10 para obtener también un mejor rendimiento. Sin embargo, en fases posteriores del proyecto, si aumenta el volumen de páginas que se deben procesar, es probable que esta configuración genere un cuello de botella, especialmente al procesar imágenes en escala de grises o en color, y el problema es que no puede ampliarse sobre la marcha: será necesario detener el sistema y conectar otros HDD. Utilice almacenamientos externos como NAS o SAN, a los que el Servidor de aplicaciones tenga acceso de lectura y escritura a 1 Gb/s a través de LAN, SCSI, Fibre Channel, etc. Esto permitirá ampliar FileStorage sin interrupciones. El siguiente texto contiene una explicación sobre cómo calcular el rendimiento necesario del hardware de FileStorage. Una configuración de red típica de FlexiCapture en un entorno empresarial: Tenga en cuenta que se recomienda conectar el Servidor de aplicaciones directamente a FileStorage y Database Server para lograr una comunicación rápida y fiable.

Servidor de aplicaciones

CPU: 8 núcleos físicos, 2.4 GHz o superior

16 GB de RAM

HDD: 100 GB

2 NIC, 1 Gb/s:

  • una para conectarse a la LAN y
  • una para conectarse al servidor de base de datos

FileStorage: si se usa una SAN, conéctela mediante SCSI, Fibre Channel o InfiniBand.

SO: Windows 2012 o posterior

Como servicio web y centro de todas las comunicaciones de FlexiCapture, el Servidor de aplicaciones es responsable de lo siguiente:

  • transferir grandes volúmenes de datos binarios; y
  • responder con rapidez a pequeñas solicitudes de servicio SOAP/JSON.

Los recursos críticos son:

  1. Una interfaz de red rápida para conectarse con los clientes
  2. Una conexión rápida y estable con FileStorage y el Servidor de base de datos
  3. Una CPU multinúcleo de alta velocidad.
    • Cuanto mayor sea la velocidad, más rápido se procesará cada solicitud.
    • Cuantos más núcleos físicos haya, más solicitudes se procesarán al mismo tiempo.

Para aprovechar al máximo la CPU, en el pool de aplicaciones de Servicios web de FlexiCapture, use el doble de procesos worker de IIS que de núcleos físicos. P. ej., 16 procesos worker de IIS para un procesador de 8 núcleos.

  1. RAM suficiente: al menos 2 GB por cada núcleo físico.

Si alguno de estos recursos genera un cuello de botella, escale verticalmente el Servidor de aplicaciones:

  • mediante la tecnología Microsoft Network Load Balancing, que agrupa varios equipos con el rol de Servidor de aplicaciones. Consulte instrucciones detalladas en Guía del Administrador del sistema de FlexiCapture.
  • a nivel de hardware, conectando distintos grupos de clientes a distintas máquinas con el rol de Servidor de aplicaciones. P. ej., puede usar una máquina para atender todo el procesamiento automático, y otra para exponerlo a clientes externos.

En cualquier caso, todas las máquinas con el rol de Servidor de aplicaciones deben estar conectadas de la misma forma a la misma base de datos y al mismo FileStorage.

Processing Server, Licensing Server

CPU de 4 núcleos, 2,4 GHz o superior

8 GB de RAM

HDD: 100 GB

NIC de 1 GB/s para conexión a la LAN

SO: Windows 2012 o posterior

Una conexión de red estable es esencial para los servidores. De lo contrario, el procesamiento de documentos se detendrá. Para garantizar la redundancia, use Microsoft Failover Cluster. Consulte las instrucciones detalladas en Guía del Administrador del sistema de FlexiCapture.

El Licensing Server mantiene en memoria copias de las licencias para todos los clientes concurrentes. Téngalo en cuenta si va a utilizar simultáneamente un gran número de operadores de escaneo y verificación. También recomendamos usar la versión de 64 bits en proyectos con un gran número de clientes concurrentes. Nuestras pruebas han demostrado que 2 GB de RAM son suficientes para gestionar licencias para hasta 1000 clientes. Considere usar más de un Licensing Server para atender a un mayor número de clientes concurrentes al mismo tiempo.

Servidor de bases de datos

Para MS SQL Server:

Base de datos: MS SQL Server 2014 o posterior, edición Standard o Enterprise

Hardware:

CPU: 8 núcleos físicos, 3,4 GHz o superior

16 GB de RAM o más

HDD: 400 GB

Sistema operativo: Windows 2012 o posterior

Para Oracle:

Base de datos: Oracle 12c Enterprise Edition

Hardware: Oracle Exadata Database Machine X2-2, Quarter Rack

ABBYY FlexiCapture admite MS SQL Server y Oracle instalados en cualquier plataforma. Ambos servidores de bases de datos ofrecen sus propias recomendaciones sobre configuración óptima, escalabilidad y tolerancia a fallos.

Se recomienda para MS SQL Server:

  • Más RAM, si es posible, en el equipo del servidor de bases de datos para alojar la mayor parte de los archivos de la base de datos en la RAM y acceder a ellos más rápidamente;
  • Un HDD rápido para acceder con rapidez a la parte de la base de datos alojada en el disco (recomendamos usar un SSD para este fin);
  • Evitar los modos de la base de datos que provocan retrasos en las transacciones (Mirroring, etc.);
  • Elegir Simple como modelo de recuperación de la base de datos;
  • La base de datos y su registro se almacenan en discos separados;
  • Actualizaciones periódicas de índices para las tablas que cambian con frecuencia (Document, Page, Batch, Task y EventLog). De lo contrario, el tamaño de un índice puede llegar a ser mayor que el de los datos de la tabla.

Almacenamiento de archivos

NAS o SAN,

conectado por LAN, SCSI, Fibre Channel o InfiniBand

Velocidad de lectura y escritura: 100 MB/s*

Capacidad: 5 TB*

*Los requisitos de lectura/escritura y capacidad dependen en gran medida de estos 2 factores:

1. Promedio y volumen máximo de páginas procesadas por día (es decir, 24 horas) y por hora, y su modo de color. Como se menciona en la sección Métricas de rendimiento, podemos estimar el flujo de entrada en bytes por segundo si tomamos algunos tamaños de archivo típicos de páginas escaneadas en color, escala de grises y blanco y negro.

Las imágenes constituyen la mayor parte de los datos transferidos dentro del Sistema. Al analizar el workflow de procesamiento, definamos estos 2 valores:

  • el número R de etapas en las que las imágenes de las páginas se descargan desde el Servidor de aplicaciones;
  • el número W de etapas en las que las imágenes de las páginas se cargan en el Servidor de aplicaciones.

Los requisitos de velocidad de lectura/escritura pueden calcularse de la siguiente manera:

  • Velocidad de escritura requerida = W x flujo de entrada en bytes por segundo.
  • Velocidad de lectura requerida = R x flujo de entrada en bytes por segundo.

Ejemplo. Un cliente necesita procesar 10.000 páginas en escala de grises por hora. El workflow de procesamiento incluye 3 etapas.

  1. Una Processing Station descarga imágenes desde una carpeta activa, realiza el prerreconocimiento y las carga en el Servidor de aplicaciones (W=1, R=0).
  2. Otra Processing Station recupera estas imágenes del Servidor de aplicaciones, realiza el reconocimiento y los resultados de OCR llegan al Servidor de aplicaciones (W=1, R=1).
  3. Un operador de verificación descarga imágenes y datos reconocidos para revisarlos y envía los datos verificados (W=1, R=2) de vuelta al Servidor.
  4. Por último, una Processing Station descarga imágenes y datos verificados para enviarlos al sistema back-end del cliente (W=1, R=3).
    Suponiendo que el tamaño de archivo promedio de un escaneo A4 en escala de grises es de 3 MB, tenemos los siguientes cálculos:

Flujo de entrada = 10.000 imágenes de páginas en escala de grises/hora = 2,8 imágenes en escala de grises/s = 8,4 MB/s.

Velocidad de escritura requerida = 1 x 8,4 MB/s = 8,4 MB/s.

Velocidad de lectura requerida = 3 x 8,4 MB/s = 25,2 MB/s.

Para medir el rendimiento del disco duro, puede utilizar la herramienta CrystalDiskMark, distribuida bajo la licencia MIT.

  1. El tiempo durante el cual los documentos se almacenan en el Sistema.

Ejemplo. Un cliente necesita procesar 100.000 imágenes en escala de grises en 24 horas. Según el Acuerdo de Nivel de Servicio, el tiempo de procesamiento es de 2 días por documento. Los documentos procesados se almacenan durante 2 semanas debido a las comprobaciones adicionales en el sistema ERP del cliente; en caso de discrepancias, los documentos se editan en FlexiCapture y se cargan en el sistema ERP nuevamente.

Así, las imágenes deben almacenarse durante 2+14 = 16 días, y el Sistema acumulará 16 x 100.000 imágenes en escala de grises x 3 MB (tamaño de archivo promedio de una imagen A4 en escala de grises) = 4,8 TB de datos.

Nota: Recomendamos encarecidamente usar una tecnología de almacenamiento tolerante a fallos, por ejemplo, RAID 10. La indexación de búsqueda y el análisis antivirus del contenido de FileStorage pueden causar una disminución del rendimiento o bloquear el acceso a los archivos que se procesan en el propio Sistema.

La configuración Large es necesaria cuando se trabaja con un volumen significativo (más de 300.000) de páginas en color. Indicamos una capacidad de hasta 3 millones de páginas en blanco y negro o hasta 1 millón de páginas en color en 24 horas. Todo lo mencionado anteriormente sobre la configuración Medium sigue siendo válido para la configuración Large. La diferencia en este caso es que debe seguir todas las recomendaciones de optimización y prestar especial atención a cada parte del sistema: calcular la carga y elegir un hardware suficientemente potente, pero no excesivamente caro. Entre otras cosas, pruebe la conexión a Internet y el conector de backend para asegurarse de que pueden funcionar con el nivel de rendimiento deseado. Desde el principio, considere usar una red de 10 Gb/s y un FileStorage potente. A continuación se muestra una posible arquitectura de red para la configuración Large. En lugar de proporcionar requisitos típicos del sistema para las configuraciones Large, recomendamos consultar las configuraciones que se probaron y su rendimiento, como se muestra en este documento. Para lograr un rendimiento aún mejor, combine varias instalaciones independientes de FlexiCapture bajo un único punto de administración y monitorización —denominado configuración xLarge—, lo cual queda fuera del alcance de este documento.