FlexiCapture kann pro Tag mehrere Hundert bis Millionen Seiten verarbeiten und bis zu mehrere Tausend Operatoren unterstützen. Mithilfe der Richtlinien in diesem Dokument lassen sich die Systemlast im Voraus einfach abschätzen und sowohl die geeignete Architektur als auch die passende Hardware für die Server auswählen.
Das System kann skaliert werden durch:
- Erhöhen der Anzahl von Scan-Clients, Verifizierungs-Clients und Processing Stations
- Erhöhen der Leistung der Maschinen für die Application-, Processing-, Licensing- und Database-Server sowie für den FileStorage, wobei für diese Rollen mehrere Maschinen eingesetzt werden
Die folgenden Zahlen helfen dabei, eine vorläufige Konfiguration der FlexiCapture-Serverkomponente zu bewerten oder auszuwählen.
Die Systemüberwachung und Engpasserkennung hilft festzustellen, dass die verwendete Hardware für die angestrebte Leistung nicht ausreicht und es Zeit ist, das System zu skalieren.
Demo ist eine typische Konfiguration für Demonstrationen oder Pilotprojekte, für Projekte im Produktivmaßstab jedoch nicht empfohlen. Alle Systemkomponenten werden auf einer virtuellen Maschine installiert oder auf einem PC bereitgestellt.
MS SQL Express kann als Datenbankserver verwendet und auf derselben Maschine wie die FlexiCapture-Server installiert werden. Anstatt einen separaten FileStorage zu verwenden, können Dateien direkt in der Datenbank gespeichert werden. Operatoren und Processing Stations können auf derselben Maschine installiert werden.
In kommerziellen Projekten sollte die Processing Station niemals auf einem Computer installiert werden, auf dem FlexiCapture-Server oder der Database-Server gehostet werden, da sie sämtliche Ressourcen beansprucht und sich die Serverleistung verschlechtert.
Medium ist eine typische Konfiguration für kommerzielle Projekte, da sie skalierbar ist: Jede Serverkomponente wird auf einem eigenen Computer installiert.
Bereitstellungsrichtlinien
Der Application Server sollte auf einem eigenen Computer installiert werden, da er anders skaliert als der Datenbankserver, der Processing Server und der Licensing Server.
Technisch gesehen können der Application Server, der Processing Server und der Licensing Server auf demselben Computer installiert werden. Die Serverredundanz ist dann gewährleistet, die Skalierbarkeit des Application Server jedoch nicht.
Der Application Server sowie der Processing Server und der Licensing Server verwenden unterschiedliche Clustering-Technologien:
- Der Application Server ist ein Webdienst in IIS; seine Skalierbarkeit und Ausfallsicherheit werden durch Clustering mit der Microsoft Network Load Balancing-Technologie erreicht. Alle Clusterknoten sind gleichberechtigt, laufen im Active-Active-Modus und können jederzeit abgeschaltet werden.
- Der Processing Server und der Licensing Server sind Windows-Services; ihre Ausfallsicherheit wird durch die Einrichtung eines Active-Passive-Clusters auf Basis der Microsoft Failover Cluster-Technologie erreicht.
Microsoft untersagt ausdrücklich die gemeinsame Verwendung dieser Technologien auf demselben Computer.
Wenn Sie nur Ausfallsicherheit benötigen, clustern Sie den Application Server innerhalb von IIS, das ebenfalls Clustering mit Microsoft Failover Cluster unterstützt.
Licensing Server und Processing Server können auf demselben Computer installiert werden.
Wir empfehlen, den Datenbankserver auf einem dedizierten Computer zu installieren. Er ist sehr ressourcenintensiv. Wenn Sie ihn dennoch mit bestimmten anderen FlexiCapture-Servern kombinieren, beschränken Sie seine CPU- und RAM-Nutzung und legen Sie die Datenbankdateien auf einer physisch separaten HDD ab, damit die Leistung der anderen Server nicht beeinträchtigt wird.
Bei geringer Last und für eine bessere Leistung können Sie schnelle HDDs auf dem Rechner des Application Server als FileStorage verwenden, z. B. SATA2-Festplatten mit 15.000 U/min oder mehr, die zur Redundanz mindestens als RAID1 oder für zusätzliche Leistung als RAID10 konfiguriert sind.
In späteren Projektphasen jedoch, wenn das Volumen der zu verarbeitenden Seiten zunimmt, führt diese Konfiguration wahrscheinlich zu einem Engpass, insbesondere bei der Verarbeitung von Graustufen- oder Farbbildern. Problematisch ist zudem, dass sie nicht im laufenden Betrieb skaliert werden kann – dazu muss das System heruntergefahren und es müssen andere HDDs angeschlossen werden.
Verwenden Sie externen Speicher wie NAS oder SAN, auf den der Application Server mit 1 Gb/s über LAN, SCSI, Fibre Channel oder eine ähnliche Schnittstelle Lese-/Schreibzugriff hat. Dadurch lässt sich das FileStorage problemlos erweitern.
Eine typische FlexiCapture-Netzwerkkonfiguration in einer Unternehmensumgebung:
Beachten Sie, dass empfohlen wird, den Application Server für eine schnelle und zuverlässige Kommunikation direkt mit dem FileStorage und dem Datenbankserver zu verbinden.
Anforderungen:
- CPU: 8 physische Kerne, 2,4 GHz oder schneller
- 16 GB RAM
- HDD: 100 GB
- 2 NICs, 1 Gb/s: eine für die Verbindung mit dem LAN und eine für die Verbindung mit dem Datenbankserver
- FileStorage: Wenn ein SAN verwendet wird, verbinden Sie es über SCSI, Fibre Channel oder InfiniBand
- OS: Windows 2012 oder höher
Als Webservice und zentrale Drehscheibe der gesamten FlexiCapture-Kommunikation ist der Application Server für beides zuständig:
- die Übertragung großer binärer Datenmengen
- die schnelle Beantwortung kleiner SOAP-/JSON-Serviceanfragen
Kritische Ressourcen sind:
- Eine schnelle Netzwerkschnittstelle für die Verbindung mit Clients.
- Eine schnelle, stabile Verbindung zu FileStorage und Datenbankserver.
- Eine Multi-Core-CPU mit hoher Taktfrequenz:
- Je höher die Taktfrequenz, desto schneller wird jede Anfrage verarbeitet
- Je mehr physische Kerne vorhanden sind, desto mehr Anfragen können gleichzeitig verarbeitet werden
- Ausreichend RAM, mindestens 2 GB pro physischem Kern.
Um die CPU optimal zu nutzen, konfigurieren Sie den Anwendungspool der FlexiCapture Web Services mit doppelt so vielen IIS-Workerprozessen wie physischen Kernen. Beispiel: 16 IIS-Workerprozesse für einen 8-Core-Prozessor.
Wenn eine dieser Ressourcen zum Engpass wird, skalieren Sie den Application Server hoch:
- Mit der Microsoft-Technologie Network Load Balancing, die mehrere Computer mit der Rolle des Application Server zu einem Cluster zusammenfasst. Detaillierte Anweisungen finden Sie unter Failover-Konfiguration.
- Auf Hardwareebene, indem Sie verschiedene Clientgruppen mit unterschiedlichen Maschinen mit der Rolle des Application Server verbinden. So können Sie beispielsweise eine Maschine für die gesamte automatische Verarbeitung verwenden und eine andere für die Anbindung externer Clients.
In jedem Fall sollten alle Maschinen mit der Rolle des Application Server auf dieselbe Weise mit derselben Datenbank und demselben FileStorage verbunden sein.
Processing Server und Licensing Server
Anforderungen:
- 4-Core-CPU, 2,4 GHz oder schneller
- 8 GB RAM
- HDD: 100 GB
- NIC: 1 Gb/s zur Verbindung mit dem LAN
- OS: Windows 2012 oder neuer
Eine stabile Netzwerkverbindung ist für diese Server unerlässlich. Andernfalls wird die Dokumentverarbeitung gestoppt. Um Redundanz sicherzustellen, verwenden Sie Microsoft Failover Cluster. Detaillierte Anweisungen finden Sie in der Failover-Konfiguration.
Der Licensing Server hält Kopien der Lizenzen für alle gleichzeitigen Clients im Speicher vor. Berücksichtigen Sie dies, wenn Sie eine große Anzahl von Scan- und Verifizierungsoperatoren gleichzeitig einsetzen möchten. Wir empfehlen außerdem die 64-Bit-Version für Projekte mit einer großen Anzahl gleichzeitiger Clients. Unsere Tests haben gezeigt, dass 2 GB RAM ausreichen, um Lizenzen für bis zu 1000 Clients zu verwalten. Wenn Sie gleichzeitig mehr Clients bedienen möchten, sollten Sie den Einsatz mehrerer Licensing Server in Betracht ziehen.
Anforderungen:
- Für MS SQL Server: MS SQL Server 2014 oder höher, Standard oder Enterprise Edition.
- Für Oracle: Oracle 12c Enterprise Edition.
Hardware für MS SQL Server:
- CPU: 8 physische Kerne, 3,4 GHz oder schneller
- 16 GB RAM oder mehr
- HDD: 400 GB
- OS: Windows 2012 oder höher
Hardware für Oracle: Oracle Exadata Database Machine X2-2, Quarter Rack.
ABBYY FlexiCapture unterstützt MS SQL Server und Oracle, die auf beliebigen Plattformen installiert sind. Beide Datenbankserver haben eigene Empfehlungen zu optimalen Einstellungen, Skalierung und Fehlertoleranz.
Für MS SQL Server empfehlen wir:
- nach Möglichkeit mehr RAM auf dem Datenbankserver, damit ein größerer Teil der Datenbankdateien im RAM gehalten wird und schneller darauf zugegriffen werden kann
- eine schnelle HDD für den schnellen Zugriff auf den Teil der Datenbank, der auf der Festplatte gespeichert ist (wir empfehlen dafür die Verwendung einer SSD)
- Datenbankmodi mit Transaktionsverzögerungen zu vermeiden (Spiegelung usw.)
- Simple als Wiederherstellungsmodell der Datenbank zu wählen
- die Datenbank und ihr Protokoll auf separaten Festplatten zu speichern
- regelmäßige Indexaktualisierungen für häufig geänderte Tabellen (Document, Page, Batch, Task und EventLog). Andernfalls kann ein Index größer werden als die Daten in der Tabelle.
Anforderungen:
-
NAS oder SAN, verbunden über LAN, SCSI, Fibre Channel oder InfiniBand
-
Lese-/Schreibgeschwindigkeit: 100 MB/s*
-
Kapazität: 5 TB*
-
Lese-/Schreibgeschwindigkeit und Kapazität hängen von Ihrem workload ab; siehe FileStorage sizing.
Dimensionierung von FileStorage
Die Anforderungen an Lese-/Schreibgeschwindigkeit und Kapazität hängen von zwei Faktoren ab.
Faktor 1: die durchschnittliche und maximale Anzahl der pro Tag (24 Stunden) und pro Stunde verarbeiteten Seiten sowie deren Farbmodus. Wie im Abschnitt Leistungsmetriken beschrieben, können Sie den Eingabefluss in Byte pro Sekunde anhand typischer Dateigrößen für in Farbe, Graustufen und Schwarzweiß gescannte Seiten abschätzen.
Bilder machen den Großteil der innerhalb des Systems übertragenen Daten aus. Analysieren Sie den workflow und bestimmen Sie zwei Werte:
- Die Anzahl R der Verarbeitungsstufen, in denen Seitenbilder vom Application Server heruntergeladen werden
- Die Anzahl W der Verarbeitungsstufen, in denen Seitenbilder auf den Application Server hochgeladen werden
Die Anforderungen an die Lese-/Schreibgeschwindigkeit lassen sich wie folgt berechnen:
- Erforderliche Schreibgeschwindigkeit = W × Eingabefluss in Byte pro Sekunde.
- Erforderliche Lesegeschwindigkeit = R × Eingabefluss in Byte pro Sekunde.
Beispiel. Ein Kunde muss 10.000 Graustufenseiten pro Stunde verarbeiten. Der workflow umfasst die folgenden Verarbeitungsstufen:
- Eine Processing Station lädt Bilder aus einem hot folder herunter, führt eine Vorerkennung durch und lädt sie auf den Application Server hoch (W=1, R=0).
- Eine andere Processing Station ruft diese Bilder vom Application Server ab, führt die Erkennung durch, und die OCR-Ergebnisse werden an den Application Server übertragen (W=1, R=1).
- Ein Verifizierungsoperator lädt Bilder und erkannte Daten zur Überprüfung herunter und sendet die verifizierten Daten zurück an den Server (W=1, R=2).
- Schließlich lädt eine Processing Station Bilder und verifizierte Daten herunter, um sie an das Backend-System des Kunden zu senden (W=1, R=3).
Angenommen, die Dateigröße eines durchschnittlichen A4-Graustufenscans beträgt 3 MB:
- Eingabefluss = 10.000 Graustufen-Seitenbilder/Stunde = 2,8 Graustufenbilder/s = 8,4 MB/s.
- Erforderliche Schreibgeschwindigkeit = 1 × 8,4 MB/s = 8,4 MB/s.
- Erforderliche Lesegeschwindigkeit = 3 × 8,4 MB/s = 25,2 MB/s.
Um die Leistung der Festplatte zu testen, können Sie das Tool CrystalDiskMark verwenden, das unter der MIT-Lizenz vertrieben wird.
Faktor 2: die Dauer, für die Dokumente im System gespeichert werden.
Beispiel. Ein Kunde muss innerhalb von 24 Stunden 100.000 Graustufenbilder verarbeiten. Gemäß dem Service-Level Agreement beträgt die Verarbeitungszeit 2 Tage pro Dokument. Verarbeitete Dokumente werden aufgrund zusätzlicher Prüfungen im ERP-System des Kunden 2 Wochen lang gespeichert; bei Abweichungen werden Dokumente in FlexiCapture bearbeitet und erneut in das ERP-System hochgeladen.
Daher müssen die Bilder 2 + 14 = 16 Tage lang gespeichert werden, und das System wird 16 × 100.000 Graustufenbilder × 3 MB (durchschnittliche Dateigröße eines A4-Graustufenbilds) = 4,8 TB an Daten ansammeln.
Wir empfehlen dringend den Einsatz einer fehlertoleranten Speichertechnologie, zum Beispiel RAID 10. Die Suchindizierung und Antivirenprüfung der Inhalte von FileStorage können die Leistung verringern oder den Zugriff auf Dateien blockieren, die gerade im System verarbeitet werden.
Die Konfiguration Large ist erforderlich, wenn Sie mit einem erheblichen Volumen (mehr als 300.000) an Farbseiten arbeiten. Ihre Kapazität liegt bei bis zu 3 Millionen Schwarzweißseiten oder bis zu 1 Million Farbseiten innerhalb von 24 Stunden.
Alles, was oben über die Konfiguration Medium erwähnt wurde, gilt auch für die Konfiguration Large. Der Unterschied besteht hier darin, dass Sie alle Optimierungsempfehlungen befolgen und jedem Teil des Systems besondere Aufmerksamkeit widmen müssen – um die Auslastung zu berechnen und Hardware auszuwählen, die leistungsstark genug, aber nicht zu teuer ist. Testen Sie unter anderem die Internetverbindung und den Backend-Connector, um sicherzustellen, dass sie auf dem angestrebten Leistungsniveau arbeiten können.
Ziehen Sie von Anfang an den Einsatz eines 10-Gb/s-Netzwerks und eines leistungsstarken FileStorage in Betracht. Eine mögliche Netzwerkarchitektur für die Konfiguration Large ist unten dargestellt.
Anstatt typische Systemanforderungen für Large-Konfigurationen anzugeben, empfehlen wir, sich die getesteten Konfigurationen und ihre Leistung anzusehen, wie in diesem Dokument beschrieben.
Um eine noch bessere Leistung zu erzielen, kombinieren Sie mehrere unabhängige FlexiCapture-Installationen unter einem Administration and Monitoring point. Dies wird als Konfiguration xLarge bezeichnet und geht über den Rahmen dieses Dokuments hinaus.