BuildPDFFromDocuments-Schritte optimieren

Der Schritt BuildPDFFromDocuments ist ein ressourcenintensiver Schritt, der einen PDF-Job aus Dokumenten zusammenstellt, die von RICOH ProcessDirector identifiziert wurden. Wenn es sich um eine große Anzahl von Dokumenten handelt oder Sie komplexe Regeln in Ihrer Datei verwenden, wird die Bearbeitungsdauer für diesen Schritt in Stunden und nicht in Minuten gemessen. Für sehr große oder sehr komplexe Jobs stehen erweiterte Konfigurationsoptionen zur Verfügung, um die Verarbeitungszeit in diesem Schritt zu verkürzen.
    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:

  1. 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.

  2. 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 /aiw exportieren, 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.

  3. Erstellen Sie einen lokalen sekundären Server mit diesem Verfahren: Definieren der Sekundärserver auf dem primären Computer.
    Setzen Sie die Eigenschaft Im allgemeinen Server-Pool auf Nein und lassen Sie Zähler für maximale Anzahl ressourcenintensiver Schritte auf 1 gesetzt.
      Hinweis:
    • Stoppen Sie, nachdem Sie den sekundären Server erstellt haben. Stellen Sie die Schrittvorlage BuildPDFFromDocuments noch nicht ein.
  4. Aktualisieren Sie die JVM-Einstellungen für diesen sekundären Server.
    1. Öffnen Sie die Datei $AIWDATA/config/jvmsettings.cfg in einem Texteditor.
      Standardmäßig lautet $AIWDATA/aiw/aiw1.
    2. 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=-Xmx ist 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.

    3. Aktualisieren Sie die Zeile, die Sie kopiert haben, um primary in den Wert der Eigenschaft Servername für den sekundären Server zu ändern.
    4. Aktualisieren Sie den Wert nach Name_sekundären_Servers=-Xmx auf die Menge an Speicher, die Sie für diesen Prozess zur Verfügung haben. Der Wert sollte mindestens 16 g betragen.
    5. Wenn die Zeile für Ihren Sekundärserver diese Einstellung nicht enthält: -XX:+UseG1GC, aktualisieren Sie die Zeile, um sie hinzuzufügen.
    6. Speichern und schließen Sie die Datei.
  5. Starten Sie RICOH ProcessDirector mit startaiw neu, um die neuen Einstellungen zu übernehmen.
  6. Aktivieren Sie den sekundären Server in der Schnittstelle RICOH ProcessDirector.
  7. Stimmen Sie die Schrittvorlage BuildPDFFromDocuments ab.
    Wir empfehlen, eine Kopie der Schrittvorlage zu erstellen, um sie in der Multithreading-Konfiguration zu verwenden.
    1. Öffnen Sie Workflow Schrittschablonen.
    2. Suchen Sie die Schrittvorlage BuildPDFFromDocuments, klicken Sie mit der rechten Maustaste und wählen Sie Kopieren.
    3. 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.

    4. Auf dem Register Optimierung:
      • Stellen Sie Erweiterte Einstellung auf Multithreading für diesen Schritt ein.
      • Stellen Sie Zu verwendende Server auf Auf bestimmten Servern ausführen ein und wählen Sie dann nur den von Ihnen erstellten Sekundärserver aus.
    5. Auf der Registerkarte PDF sehen Sie sich alle Eigenschaften der Build-PDF-Steuerdatei an.
      • Wenn Ihr Schritt eine oder mehrere Kontrolldateien verwendet, stellen Sie sicher, dass die Option Bibliothek aufbauen auf Standard- oder Steuerungsdatei verwenden eingestellt ist.
      • Wenn Ihr Schritt keine Steuerdateien verwendet, setzen Sie die Option Bibliothek aufbauen auf PDF Java Toolkit.
        Hinweis:
      • Die Werte auf der Registerkarte PDF können für jeden Workflow unterschiedlich sein. Aktualisieren Sie diese Werte nach Bedarf, nachdem Sie diese Schrittvorlage zu einem Workflow hinzugefügt haben.
    6. Aktualisieren Sie alle anderen Einstellungen, die für Ihre Installation erforderlich sind.
    7. Klicken Sie auf OK.
  8. Aktivieren Sie die Schrittvorlage.
  9. 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.
    1. Öffnen Sie $AIWDATA/config/product.cfg in einem Texteditor.
    2. 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:
      useBuildPdfMT_MaxThreads=number_of_threads
        Hinweis:
      • Wir empfehlen, mit 4 Threads zu beginnen.
    3. Speichern und schließen Sie die Datei.
  10. Starten Sie RICOH ProcessDirector mit startaiw neu, um die neue Einstellung zu übernehmen.
  11. 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.cfg aktualisieren.

    • 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=10

        Passen Sie diese Einstellung an Ihre Bedürfnisse an.

      • -XX:GCLogFileSize=8m

        Passen Sie diese Einstellung an Ihre Bedürfnisse an.

      Sie müssen RICOH ProcessDirector jedes Mal neu starten, wenn Sie jvmsettings.cfg aktualisieren.

      Ü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.
    • E/A-Verwendung

  12. 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.