BuildPDFFromDocuments-Schritte optimieren
- Wichtig:
- Diese Konfiguration ist sehr fortschrittlich. Sie wird nicht für alle RICOH ProcessDirector Implementierungen empfohlen.
Ihr System ist ein guter Kandidat für diese Konfiguration, wenn alle diese Punkte zutreffen:
- Die schnellere Verarbeitung eines einzelnen PDF-Jobs ist wichtiger als der Gesamtdurchsatz.
- Ihre PDF Jobs enthalten viele Dokumente oder verwenden komplexe Regeln, so dass die Verarbeitung sehr lange dauert.
- Sie verfügen über angemessene Hardwareressourcen für das System, das der Schritt verwendet (oder können diese erwerben). Das System muss über viele CPU-Kerne verfügen, da jeder für die Verarbeitung verwendete Thread drei oder vier Hintergrund-Threads zur Verwaltung der Speichernutzung und anderer Aktivitäten benötigt. Das System muss außerdem mindestens 16 GB RAM für diese Verarbeitung auf Ihrem primären Computer oder zusätzlichen Servern, die als sekundäre Server eingerichtet werden, zur Verfügung haben.
- Die Mitglieder Ihres Teams verfügen über die notwendigen Fähigkeiten und Werkzeuge,
um die Systemleistung zu überwachen. Um das System richtig einzustellen, müssen Sie
in der Lage sein, es zu überwachen:
- Von Java-Prozessen genutzter Speicher
- Java-Speicherbereinigung
- Nutzung des Systemspeichers
- CPU-Auslastung
- Tausch von Ressourcen
- System E/A
Bei dieser Konfiguration richten Sie Ihr System so ein, dass der Schritt BuildPDFFromDocuments über mehrere Threads ausgeführt wird. Die Konfiguration erfordert, dass der Schritt in einer separaten Java Virtual Machine (JVM) ausgeführt wird. Um den Schritt in einer eigenen JVM auszuführen, erstellen Sie einen zweiten Server und stellen den Schritt BuildPDFFromDocuments so ein, dass er auf diesem Server ausgeführt wird. Es sollten keine weiteren Schritte für die Ausführung auf diesem Server konfiguriert werden.
Sie können den sekundären Server auf dem primären Computer (lokaler sekundärer Server genannt) oder auf einem anderen System (Remote-Sekundärserver genannt) erstellen.
- Hinweis:
- Um einen Remote-Sekundärserver zu verwenden, müssen Sie die Funktion Sekundärserver erwerben und auf diesem System installieren.
So optimieren Sie die BuildPDFFromDocuments-Schritte:
- Entscheiden Sie, welche Konfiguration für Ihre Umgebung am besten geeignet ist: die
Erstellung eines lokalen Sekundärservers oder die Verwendung eines Remote-Sekundärservers.
Um festzustellen, ob die Verwendung eines lokalen sekundären Servers machbar ist, lesen Sie das Thema Optimierung der Java-Speicherzuweisung. Wir empfehlen, dem lokalen Sekundärserver mindestens 16 GB RAM zuzuweisen. Wenn Ihre Berechnungen aus diesem Thema ergeben, dass Sie 16 GB RAM zur Verfügung haben oder zusätzlichen Speicher auf dem System installieren können, können Sie einen lokalen sekundären Server verwenden. Fahren Sie mit Schritt fort.
Wenn Sie ein sekundäres System verwenden müssen, vergewissern Sie sich, dass auf dem System, das Sie verwenden möchten, 16 GB RAM verfügbar sind, und fahren Sie dann mit dem nächsten Schritt fort.
- Um einen sekundären Server einzurichten, führen Sie die Schritte im Abschnitt Installieren sekundärer Remote-Server aus.
- Hinweis:
- Sie müssen das Dateisystem
/aiwexportieren, damit Sie vom sekundären Server aus darauf zugreifen können. Diese Verfahren enthalten Anweisungen zur Konfiguration von NFS und zur Durchführung des Exports. Wenn Sie es vorziehen, eine andere Methode zu verwenden, folgen Sie Ihren internen Verfahren zur Konfiguration des Exports.
Wenn Sie den sekundären Server in RICOH ProcessDirector definieren, setzen Sie die Eigenschaft Im allgemeinen Server-Pool auf Nein und lassen Sie Zähler für maximale Anzahl ressourcenintensiver Schritte auf 1 gesetzt.
- Sie müssen das Dateisystem
- Erstellen Sie einen lokalen sekundären Server mit diesem Verfahren: Definieren der Sekundärserver auf dem primären Computer.
- Aktualisieren Sie die JVM-Einstellungen für diesen sekundären Server.
- Öffnen Sie die Datei
$AIWDATA/config/jvmsettings.cfgin einem Texteditor.Standardmäßig lautet$AIWDATA/aiw/aiw1. - Kopieren Sie die Zeile für den Primärserver, die wie folgt aussieht:
primary=-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true
Fügen Sie sie in eine neue Zeile in der Datei ein.
Der Wert nach
primary=-Xmxist die maximale Menge Heap-Speicher, die die RICOH ProcessDirector-Java-Laufzeitumgebung für den primären RICOH ProcessDirector-Prozess verwenden darf. In diesem Beispiel kann der Primärserver 2048 MB (2 GB) RAM für seinen Heap verwenden. - Aktualisieren Sie die Zeile, die Sie kopiert haben, um
primaryin den Wert der Eigenschaft Servername für den sekundären Server zu ändern. - Aktualisieren Sie den Wert nach
Name_sekundären_Servers=-Xmxauf die Menge an Speicher, die Sie für diesen Prozess zur Verfügung haben. Der Wert sollte mindestens 16 g betragen. - Wenn die Zeile für Ihren Sekundärserver diese Einstellung nicht enthält:
-XX:+UseG1GC, aktualisieren Sie die Zeile, um sie hinzuzufügen. - Speichern und schließen Sie die Datei.
- Öffnen Sie die Datei
- Starten Sie RICOH ProcessDirector mit
startaiwneu, um die neuen Einstellungen zu übernehmen. - Aktivieren Sie den sekundären Server in der Schnittstelle RICOH ProcessDirector.
- Stimmen Sie die Schrittvorlage BuildPDFFromDocuments ab.Wir empfehlen, eine Kopie der Schrittvorlage zu erstellen, um sie in der Multithreading-Konfiguration zu verwenden.
- Öffnen Sie .
- Suchen Sie die Schrittvorlage BuildPDFFromDocuments, klicken Sie mit der rechten Maustaste und wählen Sie Kopieren.
- Geben Sie auf der Registerkarte Allgemein einen Wert für die Eigenschaft Name ein.
Wählen Sie einen Namen, der deutlich macht, dass es sich um die Multithreading-Version des Schritts handelt.
- Auf dem Register Optimierung:
- Auf der Registerkarte PDF sehen Sie sich alle Eigenschaften der Build-PDF-Steuerdatei an.
- Aktualisieren Sie alle anderen Einstellungen, die für Ihre Installation erforderlich sind.
- Klicken Sie auf OK.
- Aktivieren Sie die Schrittvorlage.
- Legen Sie die maximale Anzahl von Threads fest, die die Schrittvorlage verwenden darf.
- Beginnen Sie mit einer Anzahl von Threads, die etwa 25% der Kerne des Rechners entspricht. Jeder Thread, der von diesem Schritt verwendet wird, benötigt andere Threads, um ihn zu unterstützen, so dass Sie nicht alle Threads für den Schritt verwenden können. Wenn Sie zum Beispiel einen Server mit 16 Kernen haben, weisen Sie diesem Schritt 4 Threads zu.
- Möglicherweise müssen Sie experimentieren, um die optimale Anzahl von Fäden für Ihre Installation zu ermitteln.
- Öffnen Sie
$AIWDATA/config/product.cfgin einem Texteditor. - Fügen Sie diese Zeile am Ende der Datei hinzu und ersetzen Sie Anzahl_der_Threads durch die Anzahl der Threads, die Sie verwenden möchten:
- Speichern und schließen Sie die Datei.
- Starten Sie RICOH ProcessDirector mit
startaiwneu, um die neue Einstellung zu übernehmen. - Testen Sie einen Workflow mit dem neuen Schritt.Wir empfehlen, den Workflow, dessen Leistung Sie verbessern möchten, zu kopieren und dann den aktuellen Schritt BuildPDFFromDocuments durch die Multithreading-Version zu ersetzen. Führen Sie einen repräsentativen Job durch den Workflow.
Überwachen Sie während Ihrer Tests Folgendes:
- Java-Prozess-Speicherverbrauch
Wenn der Prozess das konfigurierte Maximum an Java-Speicher erreicht hat und die Leistung immer noch inakzeptabel ist, sollten Sie die Speicherzuweisung erhöhen. Halten Sie sich an die Richtlinien, die unter Optimierung der Java-Speicherzuweisung aufgeführt sind. Starten Sie den sekundären Server jedes Mal neu, wenn Sie die Datei
jvmsettings.cfgaktualisieren. - Nutzung des Systemspeichers
- CPU-Last
- Tausch von Ressourcen
- Java-Speicherbereinigung
Wenn Sie viele Speicherbereinigungs-Threads sehen, aktivieren Sie die Protokollierung für die Speicherbereinigung. Aktualisieren Sie
jvmsettings.cfg, um diese Parameter hinzuzufügen:-verbose:gc-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintGCDateStamps-Xloggc:/aiw/aiw1/trace/gc_secondary.log-XX:+UseGCLogFileRotation-XX:NumberOfGCLogFiles=10Passen Sie diese Einstellung an Ihre Bedürfnisse an.
-XX:GCLogFileSize=8mPassen Sie diese Einstellung an Ihre Bedürfnisse an.
Sie müssen RICOH ProcessDirector jedes Mal neu starten, wenn Sie
Überprüfen Sie die Protokolle, um die Häufigkeit und Dauer der vollständigen Speicherbereinigung zu ermitteln. Wenn der Vorgang mehr als fünf bis zehn Sekunden dauert, kann dies die Leistung beeinträchtigen.jvmsettings.cfgaktualisieren. - E/A-Verwendung
- Java-Prozess-Speicherverbrauch
- Passen Sie nach jedem Test die Einstellungen an, um die Verarbeitung zu optimieren. Wenn Sie die Anpassung des Schritts abgeschlossen haben, aktualisieren Sie Ihre Produktions-Workflows, um ihn anstelle des aktuellen Schritts BuildPDFFromDocuments zu verwenden.