> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scalabilité

> Faites monter en charge ABBYY FlexiCapture de quelques centaines à plusieurs millions de pages par jour, avec des configurations matérielles Demo, Medium et Large, ainsi que les exigences serveur pour chaque rôle.

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.

| Pages en 24 h (noir et blanc) | Pages en 24 h (niveaux de gris) | Pages en 24 h (couleur) | Cœurs de traitement | Opérateurs de vérification | Opérateurs de numérisation | Configuration                                           |
| ----------------------------- | ------------------------------- | ----------------------- | ------------------- | -------------------------- | -------------------------- | ------------------------------------------------------- |
| 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 du système et la détection des goulots d’étranglement](/fr/flexi-capture/performance-guide/pg-monitoring) vous permettent de déterminer si le matériel utilisé est insuffisant pour atteindre les performances cibles et s’il est temps de procéder à une mise à l’échelle du système.

<div id="demo">
  ## Demo
</div>

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.

| Rôle de la machine | Configuration requise                                                                                                                                                                                                                               |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ABBYY FlexiCapture | 1 ordinateur :<br />Processeur 4 cœurs, 2,4 GHz<br />8 Go de RAM<br />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<br />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.

<Note>
  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.
</Note>

<div id="medium">
  ## Medium
</div>

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.

<div id="deployment-guidelines">
  ### Recommandations de déploiement
</div>

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.

<Note>
  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.
</Note>

Le serveur d’applications ainsi que les serveurs Processing et Licensing utilisent des technologies de mise en cluster différentes :

* 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 un stockage externe tel qu’un NAS ou un SAN, auquel le serveur d’applications a un accès en lecture-écriture à 1 Gb/s via le LAN, SCSI, Fibre Channel ou une interface similaire. Cela permettra de faire évoluer FileStorage en douceur.

Configuration réseau FlexiCapture type dans un environnement d’entreprise :

<Frame>
  <img src="https://mintcdn.com/abbyy/mpS3pcxC_lkohQUS/images/flexi-capture/PG_Scaling1.png?fit=max&auto=format&n=mpS3pcxC_lkohQUS&q=85&s=e92e999b2b8598f27a6db008204503fb" alt="Schéma d’une configuration réseau FlexiCapture Medium type en environnement d’entreprise, dans laquelle les clients ABBYY FlexiCapture passent par un pare-feu et un commutateur 1 Gb/s pour accéder aux serveurs ABBYY FlexiCapture, le serveur d’applications étant connecté directement au stockage de fichiers à 1 Gb/s ainsi qu’à la base de données, aux serveurs Processing et Licensing, au système ERP back-end du client et aux Processing Stations." width="469" height="298" data-path="images/flexi-capture/PG_Scaling1.png" />
</Frame>

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.

<div id="application-server">
  ### Serveur d’applications
</div>

Configuration requise :

* 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

Web service et point central de toutes les communications FlexiCapture, le serveur d’applications assure à la fois :

* Le transfert de gros volumes de données binaires
* Une réponse rapide aux petites requêtes SOAP/JSON

Les ressources critiques sont les suivantes :

1. Une interface réseau rapide pour la connexion aux clients.
2. Une connexion rapide et stable à FileStorage et au serveur de base de données.
3. Un CPU multicœur rapide :
   * Plus sa vitesse est élevée, plus chaque requête est traitée rapidement
   * Plus il y a de cœurs physiques, plus de requêtes peuvent être traitées simultanément
4. Une quantité suffisante de RAM, au moins 2 Go par cœur physique.

Pour tirer le meilleur parti du CPU, configurez le pool d’applications FlexiCapture Web Services avec deux fois plus de processus de travail IIS que le nombre de cœurs physiques. Par exemple, 16 processus de travail IIS pour un processeur à 8 cœurs.

Si l’une de ces ressources crée un goulot d’étranglement, procédez à la mise à l’échelle du serveur d’applications :

* Avec la technologie Microsoft Network Load Balancing, qui met en cluster plusieurs ordinateurs ayant le rôle de serveur d’applications. Pour des instructions détaillées, consultez [Configuration du basculement](/fr/flexi-capture/admin-guide/fail-safety).
* Au niveau matériel, en connectant différents groupes de clients à différentes machines ayant le rôle de serveur d’applications. Par exemple, vous pouvez utiliser une machine pour assurer tout le traitement automatique et une autre pour le rendre accessible aux clients externes.

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

<div id="processing-server-and-licensing-server">
  ### Processing Server et Licensing Server
</div>

Configuration requise :

* 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 ces serveurs. Sinon, le traitement des documents s’arrêtera. Pour assurer la redondance, utilisez Microsoft Failover Cluster. Pour des instructions détaillées, consultez la [Configuration du basculement](/fr/flexi-capture/admin-guide/fail-safety).

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.

<div id="database-server">
  ### Serveur de base de données
</div>

Prérequis :

* Pour MS SQL Server : MS SQL Server 2014 ou version ultérieure, édition Standard ou Enterprise.
* Pour Oracle : Oracle 12c Enterprise Edition.

Configuration matérielle pour MS SQL Server :

* CPU : 8 cœurs physiques, 3,4 GHz ou plus
* 16 GB de RAM ou plus
* HDD : 400 GB
* OS : Windows 2012 ou version ultérieure

Configuration matérielle pour Oracle : 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. Les deux serveurs de base de données fournissent leurs propres recommandations concernant les paramètres optimaux, la scalabilité et la tolérance aux pannes.

Pour MS SQL Server, nous recommandons :

* D’ajouter davantage de RAM sur la machine du serveur de base de données, si possible, afin d’héberger la majeure partie des fichiers de base de données en RAM et d’y accéder plus rapidement ;
* D’utiliser un HDD rapide pour accéder rapidement à la partie de la base de données hébergée sur le disque (nous recommandons d’utiliser un SSD à cette fin) ;
* D’éviter les modes de base de données introduisant une latence des transactions (mise en miroir, etc.) ;
* De choisir Simple comme modèle de récupération de la base de données ;
* De stocker la base de données et son journal sur des disques distincts ;
* De mettre régulièrement à jour les indices des tables fréquemment modifiées (Document, Page, Batch, Task et EventLog). Sinon, la taille d’un indice peut devenir supérieure à celle des données de la table.

<div id="filestorage">
  ### FileStorage
</div>

Exigences :

* NAS ou SAN, connecté via LAN, SCSI, Fibre Channel ou InfiniBand

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

* Capacité : 5 TB\*

* La vitesse de lecture/écriture et la capacité dépendent de votre charge de travail ; voir [dimensionnement de FileStorage](#filestorage-sizing).

<div id="filestorage-sizing">
  ### Dimensionnement de FileStorage
</div>

Les exigences en matière de vitesse de lecture/écriture et de capacité dépendent de deux facteurs.

**Facteur 1 : le nombre moyen et maximal de pages traitées par jour (24 heures) et par heure, ainsi que leur mode colorimétrique.** Comme indiqué dans la section [Mesures de performance](/fr/flexi-capture/performance-guide/pg-metrics), vous pouvez estimer le flux d’entrée en octets par seconde à l’aide des tailles de fichiers typiques des pages numérisées en couleur, en niveaux de gris et en noir et blanc.

Les images représentent la plus grande partie des données transférées dans le Système. En analysant le workflow de traitement, définissez deux valeurs :

* Le nombre R d’étapes au cours desquelles les images de page sont téléchargées depuis le serveur d’applications
* Le nombre W d’étapes au cours desquelles les images de page sont téléversées vers le serveur d’applications

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

* Vitesse d’écriture requise = W × flux d’entrée en octets par seconde.
* Vitesse de lecture requise = R × 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 les étapes suivantes :

1. Une Processing Station télécharge des images depuis un dossier actif, effectue une préreconnaissance, puis 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 au serveur (W=1, R=2).
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’un scan A4 en niveaux de gris est de 3 MB :

* Flux d’entrée = 10 000 images de pages en niveaux de gris/heure = 2,8 images en niveaux de gris/s = 8,4 MB/s.
* Vitesse d’écriture requise = 1 × 8,4 MB/s = 8,4 MB/s.
* Vitesse de lecture requise = 3 × 8,4 MB/s = 25,2 MB/s.

Pour évaluer les performances du disque dur, vous pouvez utiliser l’outil [CrystalDiskMark](https://crystalmark.info/en/software/crystaldiskmark/), distribué sous licence MIT.

**Facteur 2 : la durée de stockage des documents dans le Système.**

**Exemple.** Un client doit traiter 100 000 images en niveaux de gris en 24 heures. Conformément au Service-Level Agreement, le temps de traitement est de 2 jours par document. Les documents traités sont stockés pendant 2 semaines en raison de contrôles supplémentaires dans le système ERP du client ; en cas d’écart, les documents sont modifiés dans FlexiCapture puis téléversés de nouveau vers le système ERP.

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

<Note>
  Nous recommandons vivement d’utiliser une technologie de stockage tolérante aux pannes, par exemple RAID 10. L’indexation de recherche et l’analyse antivirus du contenu de FileStorage peuvent réduire les performances ou bloquer l’accès aux fichiers en cours de traitement dans le Système.
</Note>

<div id="large">
  ## Large
</div>

La configuration Large est requise lorsque vous traitez un volume important (plus de 300 000) de pages couleur. 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 visé.

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.

<Frame>
  <img src="https://mintcdn.com/abbyy/mpS3pcxC_lkohQUS/images/flexi-capture/PG_Scaling2.png?fit=max&auto=format&n=mpS3pcxC_lkohQUS&q=85&s=2567e25e68eeaa5134df033c2e409384" alt="Schéma d’une architecture réseau FlexiCapture Large possible, dans laquelle les clients ABBYY FlexiCapture accèdent à deux serveurs d’applications ainsi qu’aux serveurs Processing et Licensing via des commutateurs 10 Gb/s, les serveurs d’applications se connectent au stockage de fichiers à 10 Gb/s et à la base de données à 1 Gb/s, et les Processing Stations sont reliées au système ERP du client à 2 Gb/s ainsi qu’à un disque dur dédié au dossier temporaire à 10 Gb/s." width="469" height="350" data-path="images/flexi-capture/PG_Scaling2.png" />
</Frame>

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](/fr/flexi-capture/performance-guide/pg-test-results-huawei).

<div id="xlarge">
  ## xLarge
</div>

Pour obtenir des performances encore meilleures, combinez plusieurs installations FlexiCapture indépendantes sous un même point d’administration et de supervision. C’est ce qu’on appelle la configuration xLarge et cela dépasse le cadre de ce document.
