Lenteur et erreur de délai 500 lors de l'ouverture de diffusions ou de modèles de diffusion
Cet article explique le problème de lenteur des instances sur site utilisant Oracle comme base de données et d’erreur de délai d’expiration 500 lors de l’ouverture de diffusions ou de modèles de diffusion.
Description description
Environnement
Adobe Campaign Classic v7 (ACC v7) avec connexion à Oracle DB
Problème
Pour les instances sur site qui utilisent Oracle comme base de données, l’ouverture des diffusions ou des modèles de diffusion est lente et entraîne des erreurs de délai d’expiration de 500.
Étapes à reproduire:
- Connectez-vous à la console Adobe Campaign sur une instance sur site qui utilise Oracle comme base de données.
- Ouvrez une diffusion ou un modèle de diffusion. La console se fige et, au bout de quelques minutes, une erreur 500 Timeout s’affiche.
- Confirmez avec votre Oracle DBA que, tout en reproduisant la lenteur, il existe une requête sur la table
NmsDeliveryqui est longue. - Cela peut être remarqué avec les journaux Verbose et TraceFilter activés également dans le processus web. Pour l'activer, reportez-vous à la documentation Précision du journal dans Campaign Classic v7.
REMARQUE : les journaux Verbose et TraceFilter doivent être activés uniquement sur les instances de développement/d’évaluation et non dans la production.
Résolution resolution
Pour résoudre ce problème, procédez comme suit :
- Modifiez manuellement le formulaire
nms:deliveryen remplaçant :@linkedDelivery-id,linkedDelivery/*,
avec@linkedDelivery-id,linkedDelivery/@id, - Enregistrez le formulaire.
- Déconnectez-vous et reconnectez-vous à la console Adobe Campaign pour voir la différence.
Remarque :
- La requête existera toujours, mais elle ne chargera pas toutes les colonnes.
- La solution ci-dessus doit d’abord être confirmée dans Dev et Stage avant d’être appliquée à Production.
- L’ingénierie fournira cette amélioration sous un correctif dans un correctif futur.
Cause
Le problème de lenteur est dû à une requête volumineuse qu’Adobe Campaign exécute sur le serveur de base de données Oracle.
Le produit génère la requête et charge des données excessives car un caractère générique ( linkedDelivery/*) se trouve dans le formulaire nms:delivery.