Optimisation des étapes de BuildPDFFromDocuments
- Important:
- Cette configuration est très avancée. Elle n'est pas recommandée pour toutes les implémentations de RICOH ProcessDirector.
Votre système est un bon candidat pour cette configuration si toutes ces conditions sont remplies :
- Le traitement plus rapide d'un seul travail PDF est plus important que le débit total.
- Vos travaux PDF contiennent de nombreux documents ou utilisent des règles complexes qui rendent le traitement très long.
- Vous disposez (ou pouvez acquérir) des ressources matérielles adéquates pour le système utilisé par l'étape. Le système doit disposer de nombreux cœurs de CPU, car chaque thread utilisé pour le traitement nécessite trois ou quatre threads d'arrière-plan pour gérer l'utilisation de la mémoire et d'autres activités. Le système doit également disposer d'au moins 16 Go de RAM pour ce traitement sur votre ordinateur principal ou sur des serveurs supplémentaires à configurer en tant que serveurs secondaires.
- Les membres de votre équipe possèdent les compétences et les outils nécessaires pour
contrôler les performances du système. Pour régler correctement le système, vous devez
être en mesure de le surveiller :
- Mémoire utilisée par les processus Java
- Nettoyage de mémoire Java
- Utilisation de la mémoire du système
- Utilisation de l'unité centrale
- Échange de ressources
- E/S du système
Dans cette configuration, vous configurez votre système pour qu'il exécute l'étape BuildPDFFromDocuments en utilisant plusieurs threads. La configuration exige que l'étape s'exécute dans une machine virtuelle Java (JVM) distincte. Pour exécuter l'étape dans sa propre JVM, créez un serveur secondaire et configurez l'étape BuildPDFFromDocuments pour qu'elle s'exécute sur ce serveur. Aucune autre étape ne doit être configurée pour être exécutée sur ce serveur.
Pour optimiser les étapes de BuildPDFFromDocuments :
- Déterminez si votre ordinateur principal dispose d'une mémoire suffisante pour prendre
en charge cette configuration.Passez en revue le sujet Optimisation de l'allocation de mémoire Java. Nous vous recommandons d'allouer au moins 16 Go de mémoire vive au serveur secondaire local. Si les calculs effectués dans cette rubrique indiquent que vous disposez de 16 Go de mémoire vive ou que vous pouvez installer de la mémoire supplémentaire sur le système, vous pouvez utiliser un serveur secondaire local. Passez à l'étape .
- Créez un serveur secondaire local en suivant la procédure suivante : Définition des serveurs secondaires sur l'ordinateur principal.Définissez la propriété Dans le groupe de serveurs général sur Non et laissez la propriété Nombre maximum d'étapes nécessitant une quantité non négligeable de ressources serveur définie sur 1.
- Mettez à jour les paramètres de la JVM pour ce serveur secondaire.
- Ouvrez
%AIWDATA%\config\jvmsettings.cfgà l'aide d'un éditeur de texte.Par défaut,%AIWDATA%is\aiw\aiw1. - Copiez la ligne pour le serveur primaire qui ressemble à ceci :
primary=-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true
Collez-la dans une nouvelle ligne du fichier.
La valeur indiquée après
primary=-Xmxreprésente la quantité maximale de mémoire vive que l'environnement d'exécution Java RICOH ProcessDirector est autorisé à utiliser pour le processus principal RICOH ProcessDirector. Dans cet exemple, le serveur principal peut utiliser 2 048 Mo (2 Go) de RAM pour son segment de mémoire. - Mettez à jour la ligne que vous avez copiée pour remplacer
primarypar la valeur de la propriété Nom de serveur pour le serveur secondaire. - Mettez à jour la valeur après
nom_serveur_secondaire=-Xmxen fonction de la quantité de mémoire dont vous disposez pour ce processus. La valeur doit être d'au moins 16 g. - Si la ligne de votre serveur secondaire ne contient pas ce paramètre :
-XX:+UseG1GC, mettez la ligne à jour pour l'ajouter. - Enregistrez et fermez le fichier.
- Ouvrez
- Redémarrez le service RICOH ProcessDirector pour appliquer les nouveaux paramètres.
- Activez le serveur secondaire dans l'interface RICOH ProcessDirector.
- Ajustez le modèle d'étape BuildPDFFromDocuments.Nous vous recommandons de faire une copie du modèle d'étape pour l'utiliser dans la configuration multithread.
- Ouvrez .
- Recherchez le modèle d'étape BuildPDFFromDocuments, cliquez avec le bouton droit de la souris et sélectionnez Copier.
- Dans l'onglet Général, saisissez une valeur pour la propriété Nom.
Choisissez un nom qui indique clairement qu'il s'agit de la version multithread de l'étape.
- Dans l'onglet Réglage :
- Dans l'onglet PDF, examinez toutes les propriétés de Création du fichier de contrôle PDF.
- Mettez à jour tous les autres paramètres nécessaires à votre installation.
- Cliquez sur OK.
- Activez le modèle d'étape.
- Définissez le nombre maximum de threads que le modèle d'étape est autorisé à utiliser.
- Commencez par un nombre de threads correspondant à environ 25 % des cœurs de la machine. Chaque thread utilisé par cette étape nécessite d'autres threads pour le soutenir, de sorte que vous ne pouvez pas utiliser tous les threads pour l'étape. Par exemple, si vous disposez d'un serveur à 16 cœurs, allouez 4 threads à cette étape.
- Vous devrez peut-être expérimenter pour déterminer le nombre optimal de threads pour votre installation.
- Ouvrez
%AIWDATA%\config\product.cfgdans un éditeur de texte. - Ajoutez cette ligne au bas du fichier, en remplaçant le nombre de threads que vous souhaitez utiliser par nombre_de_threads :
- Enregistrez et fermez le fichier.
- Redémarrez le service RICOH ProcessDirector pour appliquer le nouveau paramètre.
- Testez un flux de travail avec la nouvelle étape.Nous vous recommandons de copier le flux de travail dont vous essayez d'améliorer les performances, puis de remplacer l'étape BuildPDFFromDocuments actuelle par la version multithread. Exécutez un travail représentatif dans le flux de travail.
Au cours de vos tests, surveillez les éléments suivants :
- Utilisation de la mémoire du processus Java
Si le processus a atteint le maximum configuré pour la mémoire java et que les performances sont toujours inacceptables, envisagez d'augmenter l'allocation de mémoire. Respectez les directives énoncées dans Optimisation de l'allocation de mémoire Java. Redémarrez le serveur secondaire chaque fois que vous mettez à jour le fichier
jvmsettings.cfg. - Utilisation de la mémoire du système
- Utilisation de l'unité centrale
- Échange de ressources
- Nettoyage de mémoire Java
Si vous voyez beaucoup de threads sur le nettoyage de mémoire, activez la journalisation pour le nettoyage de mémoire. Mettez à jour le fichier
jvmsettings.cfgpour ajouter ces paramètres :-verbose:gc-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintGCDateStamps-Xloggc:/aiw/aiw1/trace/gc_secondary.log-XX:+UseGCLogFileRotation-XX:NumberOfGCLogFiles=10Ajustez ce paramètre en fonction de vos besoins.
-XX:GCLogFileSize=8mAjustez ce paramètre en fonction de vos besoins.
Vous devez redémarrer le service RICOH ProcessDirector chaque fois que vous mettez à jour
Examinez les journaux pour déterminer la fréquence et la durée du nettoyage de mémoire. Si le processus prend plus de cinq à dix secondes, cela peut affecter les performances.jvmsettings.cfg. - Utilisation E/S
- Utilisation de la mémoire du processus Java
- Après chaque test, ajustez les paramètres pour optimiser le traitement. Lorsque vous aurez fini d'ajuster l'étape, mettez à jour vos flux de travaux de production pour l'utiliser à la place de l'étape BuildPDFFromDocuments actuelle.