Je pense que @mblakele couvre assez bien l'impact sur mem et sur disque. Mais j'aimerais ajouter quelques mots sur le fonctionnement de CPF. Cela peut aider à la façon dont la performance est généralement influencée par CPF.
CPF repose sur le mécanisme de déclenchement de MarkLogic. Tout document inséré, mis à jour et supprimé active la gestion de CPF avec une transition d'état initiale. Chaque action provoque une transition d'état supplémentaire. Chaque transition d'état implique l'exécution d'un trigger post-commit, appelant du code interne CPF qui fait un xdmp: invoke du module d'action réel. Ainsi, si vous avez une seule transaction qui insère 100 documents, cela entraîne l'insertion de 100 tâches post-validation dans la file d'attente du serveur de tâches pour les démarreurs. Et j'ai peur que le xdmp: invoque cause la mise en file d'attente de 100 autres tâches. Ce nombre multiplie au moins par trois si les documents traversent trois états en moyenne. En d'autres termes, CPF a un impact important sur la file d'attente du serveur de tâches. Dans quelle mesure cela a un impact réel sur les performances peut dépendre de la façon dont vous utilisez déjà le serveur de tâches. Toute tâche non-CPF sur le serveur de tâches va être retardée par les tâches CPF. D'un autre côté, si vous n'utilisez pas vraiment le serveur de tâches pour le moment, vous ne remarquerez peut-être pas grand-chose à ce sujet. Les demandes du serveur d'applications s'exécutent sur la file d'attente du serveur d'applications, qui est gérée séparément.
Une autre chose est que CPF traite le document individuellement. C'est idéal pour le traitement en arrière-plan lent et résilient. Mais si vous avez besoin de rapidité, il vaut mieux créer des transactions pour des lots de documents.
HTH!