Passer au contenu principal
FlexiCapture peut traiter de quelques centaines à plusieurs millions de pages par jour et prendre en charge jusqu’à plusieurs milliers d’opérateurs. Grâce aux recommandations de ce document, il est facile d’estimer à l’avance la charge du système et de choisir l’architecture ainsi que le matériel adaptés aux serveurs. Le système peut faire l’objet d’une mise à l’échelle de deux façons :
  • en augmentant le nombre de clients de numérisation, de clients de vérification et de Processing Stations ;
  • en augmentant la puissance des machines hébergeant les serveurs d’applications, de traitement, de licence et de base de données, ainsi que le FileStorage, ou en répartissant ces rôles sur plusieurs machines.
Les chiffres ci-dessous permettent d’évaluer ou de sélectionner une configuration préliminaire du composant serveur de FlexiCapture.

 

20 000

5 000

1 000

8

3

3

 

Demo

1 million

500 000

300 000

80

100

300

 

Medium

3 millions

2 millions

1 million

120

500

1 000

 

Large (Medium 10 Gb/s)

Bien davantage

 

xLarge (combinaison d’installations ABBYY FlexiCapture)

La surveillance des goulots d’étranglement permet de déterminer si le matériel utilisé est insuffisant pour atteindre les performances souhaitées et s’il est temps de procéder à une mise à l’échelle du système. Demo est une configuration type pour les démonstrations ou les projets pilotes, non recommandée pour les projets en environnement de production. Tous les composants du système sont installés sur une machine virtuelle ou déployés sur un PC.

ABBYY FlexiCapture

1 ordinateur :

Processeur 4 cœurs, 2,4 GHz

8 Go de RAM

Disque dur :

  • 100 Go pour le système d’exploitation et les fichiers temporaires
  • 100 Go pour la base de données et le FileStorage

OS : Windows 2012 ou version ultérieure

MS SQL Express peut être utilisé comme serveur de base de données et installé sur la même machine que les serveurs FlexiCapture. Au lieu d’utiliser un FileStorage distinct, les fichiers peuvent être stockés directement dans la base de données. Les opérateurs et les stations de traitement peuvent être installés sur la même machine.
Dans les projets commerciaux, la Processing Station ne doit jamais être installée sur un ordinateur hébergeant les serveurs FlexiCapture ou le serveur de base de données, car elle monopolise toutes les ressources et les performances du serveur se dégradent.
Medium est une configuration type pour les projets commerciaux, car elle offre une bonne scalabilité : chaque composant serveur est installé sur une machine dédiée. Le serveur d’applications doit être installé sur une machine dédiée, car son approche de montée en charge diffère de celle des serveurs de base de données, Processing et Licensing.
Techniquement, le serveur d’applications, Processing Server et Licensing Server peuvent être installés sur le même ordinateur. La redondance des serveurs sera assurée, mais pas la scalabilité du serveur d’applications.
  • Le serveur d’applications est un service Web dans IIS ; sa scalabilité et sa fiabilité sont assurées par une mise en cluster reposant sur la technologie Microsoft Network Load Balancing. Tous les nœuds du cluster sont des nœuds homologues fonctionnant en mode actif-actif et peuvent être arrêtés à tout moment.
  • Processing Server et Licensing Server sont des services Windows ; leur fiabilité est assurée par la création d’un cluster actif-passif basé sur la technologie Microsoft Failover Cluster.
Microsoft interdit explicitement l’utilisation conjointe de ces technologies sur le même ordinateur. Si la fiabilité est votre seul besoin, mettez le serveur d’applications en cluster dans IIS, qui prend également en charge la mise en cluster avec Microsoft Failover Cluster. Licensing Server et Processing Server peuvent être installés sur la même machine. Nous recommandons d’installer le serveur de base de données sur une machine dédiée. Il consomme beaucoup de ressources et, si vous le combinez avec certains autres serveurs FlexiCapture, limitez sa consommation de CPU et de RAM et placez les fichiers de base de données sur un HDD physiquement distinct, afin de ne pas affecter les performances du serveur voisin. Pour de faibles charges et de meilleures performances, vous pouvez utiliser des HDD rapides sur la machine du serveur d’applications comme FileStorage : par exemple, des disques SATA2 de 15 000 tr/min ou plus, configurés au minimum en RAID1 pour la redondance, ou en RAID10 pour de meilleures performances. À des étapes ultérieures du projet, toutefois, si le volume de pages à traiter augmente, cette configuration créera probablement un goulet d’étranglement, en particulier pour le traitement d’images en niveaux de gris ou en couleur, et le problème est qu’elle ne peut pas être mise à l’échelle à la volée : il faudra arrêter le système et ajouter d’autres HDD. Utilisez des stockages externes comme NAS ou SAN, auxquels le serveur d’applications a un accès en lecture-écriture à 1 Gb/s via le LAN, SCSI, Fibre Channel, etc. Cela permettra de faire évoluer FileStorage en douceur. Le texte suivant explique comment calculer les performances requises du matériel FileStorage. Configuration réseau FlexiCapture type dans un environnement d’entreprise : Notez qu’il est recommandé de connecter directement le serveur d’applications à FileStorage et au serveur de base de données pour garantir une communication rapide et fiable.

Serveur d’applications

CPU : 8 cœurs physiques à 2,4 GHz ou plus

16 Go de RAM

HDD : 100 Go

2 cartes réseau, 1 Gb/s :

  • une pour la connexion au LAN et
  • une pour la connexion au serveur de base de données

FileStorage : si un SAN est utilisé, connectez-le via SCSI, Fibre Channel ou InfiniBand.

OS : Windows 2012 ou version ultérieure

Service web et centre névralgique de toutes les communications FlexiCapture, le serveur d’applications est responsable à la fois de :

  • transférer des charges binaires volumineuses ; et
  • répondre rapidement aux requêtes de service SOAP/JSON de petite taille.

Les ressources critiques sont :

  1. Une interface réseau rapide pour se connecter aux clients
  2. Une connexion rapide et stable à FileStorage et au serveur de base de données
  3. Un processeur multicœur à haute fréquence.
    • Plus la fréquence est élevée, plus chaque requête est traitée rapidement.
    • Plus il y a de cœurs physiques, plus il est possible de traiter de requêtes simultanément.

Pour tirer le meilleur parti du processeur, pour le pool d’applications FlexiCapture Web Services, configurez un nombre de processus de travail IIS égal au double du nombre de cœurs physiques. Par ex. 16 processus de travail IIS pour un processeur à 8 cœurs.

  1. Une quantité de RAM suffisante, au moins 2 Go par cœur physique.

Si l’une de ces ressources crée un goulot d’étranglement, augmentez la capacité du serveur d’applications :

  • via la technologie Microsoft Network Load Balancing, qui met en cluster plusieurs ordinateurs ayant le rôle de serveur d’applications. Voir les instructions détaillées dans le Guide de l’administrateur système de FlexiCapture.
  • au niveau matériel, en répartissant différentes plages de clients entre différentes machines ayant le rôle de serveur d’applications. Par ex. vous pouvez utiliser une machine pour assurer tout le traitement automatique, et une autre pour le mettre à disposition des clients externes.

Dans tous les cas, toutes les machines ayant le rôle de serveur d’applications doivent être connectées de la même manière à la même base de données et au même FileStorage.

Processing Server, Licensing Server

Processeur 4 cœurs, 2,4 GHz ou plus

8 Go de RAM

Disque dur : 100 Go

Carte réseau 1 Gb/s pour la connexion au réseau local

SE : Windows 2012 ou version ultérieure

Une connexion réseau stable est essentielle pour les serveurs. Sinon, le traitement des documents s’arrêtera. Pour assurer la redondance, utilisez Microsoft Failover Cluster. Consultez les instructions détaillées dans le Guide de l’administrateur système de FlexiCapture.

Le Licensing Server conserve en mémoire des copies des licences pour tous les clients simultanés. Veuillez en tenir compte si vous prévoyez d’utiliser simultanément un grand nombre d’opérateurs de numérisation et de vérification. Nous recommandons également d’utiliser la version 64 bits dans les projets impliquant un grand nombre de clients simultanés. Nos tests ont montré que 2 Go de RAM suffisent pour gérer les licences d’un maximum de 1000 clients. Envisagez d’utiliser plusieurs Licensing Server pour prendre en charge davantage de clients simultanés.

Serveur de base de données

Pour MS SQL Server :

Base de données : MS SQL Server 2014 ou version ultérieure, édition Standard ou Enterprise

Matériel :

CPU : 8 cœurs physiques, 3,4 GHz minimum

16 Go de RAM minimum

Disque dur : 400 Go

SE : Windows 2012 ou version ultérieure

Pour Oracle :

Base de données : Oracle 12c Enterprise Edition

Matériel : Oracle Exadata Database Machine X2-2, Quarter Rack

ABBYY FlexiCapture prend en charge MS SQL Server et Oracle installés sur n’importe quelle plateforme. Ces deux serveurs de base de données disposent de leur propre documentation sur les paramètres optimaux, la scalabilité et la tolérance aux pannes.

Recommandations pour MS SQL Server :

  • Davantage de RAM, si possible, sur la machine du serveur de base de données afin d’héberger la majeure partie des fichiers de la base de données en mémoire et d’y accéder plus rapidement ;
  • Un disque dur rapide pour accéder rapidement à la partie de la base de données stockée sur disque (nous recommandons d’utiliser un SSD à cet effet) ;
  • Éviter les modes de base de données avec délais de transaction (Mirroring, etc.) ;
  • Choisir Simple comme modèle de récupération de la base de données ;
  • La base de données et son journal des transactions sont stockés sur des disques distincts ;
  • Mises à jour régulières des indices pour les tables qui changent fréquemment (Document, Page, Batch, Task et EventLog). À défaut, la taille d’un indice peut devenir supérieure à la taille des données de la table.

Stockage de fichiers

NAS ou SAN,

connecté via LAN, SCSI, Fibre Channel ou InfiniBand

Vitesse de lecture/écriture : 100 MB/s*

Capacité : 5 TB*

*Les exigences en lecture/écriture et de capacité dépendent fortement de ces 2 facteurs :

1. Le nombre moyen et maximal de pages traitées par jour (c.-à-d. sur 24 heures) et par heure, ainsi que leur mode couleur. Comme indiqué dans la section Performance Metrics, nous pouvons estimer le flux d’entrée en octets par seconde en prenant des tailles de fichier typiques pour des pages numérisées en couleur, en niveaux de gris et en noir et blanc.

Les images représentent la majeure partie des données transférées dans le Système. En analysant le workflow de traitement, définissons les 2 valeurs suivantes :

  • le nombre R d’étapes au cours desquelles les images des pages sont téléchargées depuis le serveur d’applications ;
  • le nombre W d’étapes au cours desquelles les images des pages sont téléversées vers le serveur d’applications.

Les exigences de vitesse en lecture/écriture peuvent être calculées comme suit :

  • Vitesse d’écriture requise = W x flux d’entrée en octets par seconde.
  • Vitesse de lecture requise = R x flux d’entrée en octets par seconde.

Exemple. Un client doit traiter 10 000 pages en niveaux de gris par heure. Le workflow de traitement comprend 3 étapes.

  1. Une Processing Station télécharge des images depuis un dossier surveillé, effectue une pré-reconnaissance et les téléverse vers le serveur d’applications (W=1, R=0).
  2. Une autre Processing Station récupère ces images depuis le serveur d’applications, effectue la reconnaissance et les résultats OCR arrivent sur le serveur d’applications (W=1, R=1).
  3. Un opérateur de vérification télécharge les images et les données reconnues pour les contrôler, puis renvoie les données vérifiées (W=1, R=2) au serveur.
  4. Enfin, une Processing Station télécharge les images et les données vérifiées pour les envoyer au système back-end du client (W=1, R=3).
    En supposant que la taille de fichier moyenne d’une numérisation A4 en niveaux de gris soit de 3 Mo, nous obtenons les calculs suivants :

Flux d’entrée = 10 000 images de pages en niveaux de gris/heure = 2,8 images en niveaux de gris/s = 8,4 Mo/s.

Vitesse d’écriture requise = 1 x 8,4 Mo/s = 8,4 Mo/s.

Vitesse de lecture requise = 3 x 8,4 Mo/s = 25,2 Mo/s.

Pour évaluer les performances du disque dur, vous pouvez utiliser l’outil CrystalDiskMark, distribué sous licence MIT.

  1. La durée pendant laquelle les documents sont stockés dans le Système.

Exemple. Un client doit traiter 100 000 images en niveaux de gris en 24 heures. Selon l’accord de niveau de service, le temps de traitement est de 2 jours par document. Les documents traités sont stockés pendant 2 semaines en raison des contrôles supplémentaires dans le système ERP du client ; en cas d’écarts, les documents sont corrigés dans FlexiCapture puis téléversés à nouveau vers le système ERP.

Ainsi, les images doivent être stockées pendant 2+14 = 16 jours, et le Système accumulera 16 x 100 000 images en niveaux de gris x 3 Mo (taille de fichier moyenne pour une image A4 en niveaux de gris) = 4,8 To de données.

Remarque : Nous recommandons vivement d’utiliser une technologie de stockage tolérante aux pannes, par ex. RAID 10. L’indexation pour la recherche et l’analyse antivirus du contenu de FileStorage peuvent entraîner une baisse des performances ou bloquer l’accès aux fichiers traités par le Système lui-même.

La configuration Large est requise lorsque vous traitez un volume important (plus de 300 000) de pages couleur. Nous indiquons qu’elle peut traiter jusqu’à 3 millions de pages en noir et blanc ou jusqu’à 1 million de pages couleur en 24 heures. Tout ce qui est mentionné ci-dessus à propos de la configuration Medium reste valable pour la configuration Large. La différence est qu’ici, vous devez suivre toutes les recommandations d’optimisation et accorder une attention particulière à chaque composant du système, afin de calculer la charge et de choisir un matériel suffisamment puissant, sans être trop coûteux. Entre autres, testez la connexion Internet et le connecteur backend pour vous assurer qu’ils peuvent fonctionner au niveau de performance souhaité. Dès le départ, envisagez d’utiliser un réseau 10 Gb/s et un FileStorage puissant. Une architecture réseau possible pour la configuration Large est présentée ci-dessous. Au lieu de fournir des exigences système types pour les configurations Large, nous recommandons d’examiner les configurations testées et leurs performances, comme indiqué dans ce document. Pour obtenir des performances encore meilleures, combinez plusieurs installations FlexiCapture indépendantes sous un même point d’administration et de supervision — appelé configuration xLarge — ce qui dépasse le cadre de ce document.