Les développeurs consacrent souvent 40 à 60 heures de temps de développement à la recherche de BSFNAbréviation de "Business Function". C'est un composant de code réutilisable dans JD Edwards EnterpriseOne qui encapsule une logique métier spécifique. "lentes" basées sur des retours utilisateurs subjectifs d'une session de Saisie de Commande Client (P4210)Une application standard de JD Edwards EnterpriseOne (JDE) utilisée pour créer et gérer les commandes clients.. Se fier à un chronomètre manuel pour mesurer le temps d'un Power FormUn type d'interface utilisateur dans JD Edwards EnterpriseOne, conçu pour afficher plusieurs vues de données sur un seul écran, améliorant l'efficacité. est une erreur lorsque le véritable goulot d'étranglement pourrait être un pic de latence de 500 ms ou plus, caché au sein du noyau Call ObjectLe composant d'exécution de JD Edwards EnterpriseOne qui gère l'appel et l'exécution des fonctions métier (BSFN) sur le serveur. ou d'une table personnalisée mal indexée. La véritable mesure de performance des BSFN JD Edwards avec des logs et des chronométrages exige de dépasser la couche applicative et d'interroger les horodatages au niveau de la microseconde générés dans le jdedebug.logLe fichier de journalisation de débogage principal de JD Edwards EnterpriseOne, contenant des informations détaillées sur l'exécution des processus et des fonctions métier..
Une BSFN "lourde" comme B4200310Une fonction métier (BSFN) spécifique dans JD Edwards EnterpriseOne, souvent associée au traitement des commandes clients. peut facilement générer 100 000 lignes de données de log pour une seule commande multi-lignes, rendant l'analyse générique des logs inefficace. Vous devriez injecter des appels API jdeWriteLogUne interface de programmation d'application (API) dans JD Edwards EnterpriseOne permettant aux développeurs d'écrire des messages personnalisés directement dans le fichier jdedebug.log. spécifiques directement dans votre code CLe langage de programmation utilisé pour développer la plupart des fonctions métier (BSFN) dans JD Edwards EnterpriseOne. pour encadrer les blocs logiques suspects, tels qu'une recherche récursive de cacheUne zone de stockage temporaire pour les données fréquemment consultées, utilisée pour accélérer l'accès et améliorer les performances des applications. ou une mise à jour complexe de l'inventaire F41021Une table de base de données standard dans JD Edwards EnterpriseOne qui stocke les informations sur les emplacements d'inventaire des articles.. En isolant ces segments, vous pouvez établir une base de référence statistique sur 10 à 15 exécutions identiques. Cette approche basée sur les données vous permet de quantifier une réduction de 15 à 20 % du temps d'exécution, fournissant au DSIAbréviation de Directeur des Systèmes d'Information, le responsable de la stratégie technologique et des opérations informatiques d d'une organisation. des preuves concrètes d'optimisation plutôt que des affirmations anecdotiques.
L'erreur des tests de performance subjectifs
Commencer un test de performance en cliquant sur un bouton et en le chronométrant sur un téléphone est une perte d'effort. Une première exécution d'une fonction métier maître comme B4200310 présente souvent une variance 20 à 40 % plus lente par rapport aux exécutions ultérieures. Ce délai n'est pas dû à une défaillance de la logique du code ; c'est le coût du chargement initial du cache JDEMécanismes de mise en cache spécifiques à JD Edwards EnterpriseOne pour stocker des données et des objets fréquemment utilisés, réduisant les accès à la base de données., du remplissage du middleware JDEBASELa couche logicielle de JD Edwards EnterpriseOne qui gère la communication et l'accès aux bases de données sous-jacentes. et de l'établissement de la première connexion à la base de données via le pilote OCI ou ODBCDes logiciels qui permettent aux applications (comme JDE) de se connecter et de communiquer avec différentes bases de données. OCI est pour Oracle, ODBC est générique.. Mesurer cette première exécution comme base de référence fausse vos métriques d'optimisation avant même que vous n'ayez écrit une seule ligne de code C.
Mesurer la performance au niveau de l'application introduit trop de variables qui masquent le temps d'exécution réel de la BSFN. La latence réseau, la sérialisation du serveur Web et le rendu de l'interface utilisateur peuvent ajouter 200 ms à 500 ms de "bruit" à une transaction. Lorsqu'un développeur affirme avoir "ressenti" l'accélération de l'application, il ignore que la BSFN sous-jacente ne représente peut-être qu'une fraction nominale de ce temps de trajet total. Un réglage efficace nécessite d'isoler la logique de la couche de présentation pour voir ce que le noyau CallObject fait réellement dans l'environnement d'exécution.
De petites efficacités dans les BSFN semblent négligeables dans une seule transaction, mais deviennent critiques dans le traitement par lots. Gagner environ 50 ms sur une BSFN de calcul personnalisée appelée dans une boucle de 10 000 enregistrements entraîne une réduction de près de dix minutes du temps de traitement UBEAbréviation de "Universal Batch Engine". C'est le moteur de traitement par lots de JD Edwards EnterpriseOne, utilisé pour exécuter des rapports et des processus en arrière-plan.. Dans les environnements de distribution à volume élevé où le R42565 Print Pick SlipsUn programme UBE (Universal Batch Engine) standard de JD Edwards EnterpriseOne utilisé pour imprimer les bordereaux de prélèvement pour les commandes clients. s'exécute sur des milliers de lignes, ces micro-optimisations empêchent la file d'attente des tâches de s'engorger pendant les heures de pointe. Sans données concrètes, un gain d'environ 50 ms ressemble à une erreur d'arrondi ; dans une boucle massive, c'est la différence entre respecter ou manquer une fenêtre d'expédition.
Les affirmations de performance dépourvues de preuves basées sur les logs sont fréquemment rejetées lors des revues par les pairs ou par les équipes CNCLes administrateurs système de JD Edwards EnterpriseOne, responsables de l'installation, de la configuration, de la maintenance et de la performance de l'environnement JDE. enquêtant sur les timeouts du noyauDes limites de temps configurées pour les processus du noyau JDE. Si un processus dépasse cette limite, il est arrêté pour éviter de bloquer le système.. Lorsqu'un noyau atteint un timeout de 600 secondes et s'arrête, l'équipe CNC recherche des durées d'exécution répétables et enregistrées, et non des observations subjectives d'une session UATAbréviation de "User Acceptance Testing" (Tests d'Acceptation Utilisateur). C'est la phase finale des tests où les utilisateurs finaux vérifient que le système répond à leurs besoins métier.. Fournir une analyse delta basée sur des logs de précision à la microseconde déplace la conversation de l'anecdote vers la validation technique. Prouver qu'une instruction SQLUne commande écrite en Structured Query Language (SQL) utilisée pour interagir avec une base de données, par exemple pour récupérer, insérer, mettre à jour ou supprimer des données. spécifique ou un appel BSFN récursif était le goulot d'étranglement exige la précision que seuls les chronométrages bruts des logs peuvent fournir.

Configuration de jdedebug.log pour une précision à la microseconde
La journalisation JDE standard est souvent considérée comme un instrument grossier, mais l'horodatage à 6 chiffres en microsecondes dans l'en-tête du jdedebug.log est le seul moyen fiable de profiler un chemin d'exécution de BSFN. Lors de l'examen d'une fonction métier maître comme B4200310 qui exécute des dizaines d'appels imbriqués dans une seule transaction, la précision à la milliseconde est insuffisante. Vous devez voir la microseconde exacte à laquelle un processus atteint le marqueur Entering JDE_FreeDataSelectionUne fonction interne de JD Edwards EnterpriseOne liée à la gestion de la sélection de données, souvent vue dans les logs de débogage. pour identifier où le budget d'exécution est réellement dépensé.
Pour obtenir cette granularité, définissez Output=FILE et DebugLevel=EXTENDED dans la section [DEBUG] du jde.iniLe fichier de configuration principal de JD Edwards EnterpriseOne, contenant des paramètres pour les serveurs, les bases de données et la journalisation.. Cela garantit que le moteur capture la pile complète d'entrée et de sortie de chaque BSFN imbriquée. Sans le niveau étendu, le moteur supprime les chronométrages des boucles internes qui cachent souvent des goulots d'étranglement, tels que les appels répétés à B9800100Une fonction métier (BSFN) standard de JD Edwards EnterpriseOne, souvent utilisée pour les conversions de dates et d'autres utilitaires système. pour les conversions de dates. Vous recherchez spécifiquement les lignes "Enter BSFN" et "Return BSFN" pour calculer le delta entre l'appel et la réponse.
Les tests sur un serveur d'entreprise Linux ou WindowsLe serveur sur lequel les fonctions métier (BSFN) et les processus par lots (UBE) de JD Edwards EnterpriseOne sont exécutés. occupé entraînent l'entrelacement des logs, rendant la trace illisible. Vous devez isoler la session de test à un seul noyau Call Object. Si vous exécutez sur un serveur d'entreprise Linux ou Windows, utilisez le Server ManagerL'outil d'administration web de JD Edwards EnterpriseOne utilisé pour gérer et surveiller les composants du système, y compris les serveurs et les instances. pour verrouiller l'utilisateur de test à un PIDAbréviation de "Process ID" (Identifiant de Processus), un numéro unique attribué par le système d'exploitation à chaque processus en cours d'exécution. spécifique. Cette isolation garantit que le temps réel enregistré ne reflète que le chemin d'exécution de votre transaction spécifique.
La colonne 'Time' dans le log représente le temps réel total plutôt que les cycles CPU purs. Ce delta en microsecondes inclut les états d'attente pour les verrous de base de données, la latence réseau sur les appels synchrones et la surcharge du middleware. Lorsque vous voyez un écart de plusieurs centaines de millisecondes entre un SELECTUne opération SQL qui récupère des données d'une base de données. et le FETCHUne opération SQL qui récupère les lignes de résultats d'une requête une par une. suivant, vous êtes face à une contention de base de donnéesSituation où plusieurs processus tentent d'accéder ou de modifier les mêmes ressources de la base de données simultanément, entraînant des retards. plutôt qu'à une logique lente. Une mesure précise exige que vous soustrayiez ces états d'attente externes pour isoler le véritable temps d'exécution.
Injection de marqueurs de log personnalisés dans les BSFN C
La pile d'appels JDE standard dans un log de débogage est souvent encombrée de milliers de lignes de surcharge, rendant presque impossible d'isoler pourquoi une récupération F0911Une table de base de données standard dans JD Edwards EnterpriseOne qui stocke les transactions du grand livre général (General Ledger). spécifique ralentit une post-version. Bien que le log capture chaque JDB_FetchUne fonction interne de JD Edwards EnterpriseOne utilisée pour récupérer des données d'une base de données après une requête. et chaque limite de BSFN, il ne vous indique pas nativement où une boucle spécifique de 5 000 itérations commence ou se termine au sein d'une fonction B55 personnaliséeUne fonction métier (BSFN) développée spécifiquement pour un client, dont le nom commence généralement par "B55" dans les conventions JDE.. Pour résoudre ce problème, les développeurs doivent utiliser l'API jdeWriteLog pour injecter des marqueurs "chirurgicaux" directement dans le flux de sortie. Cette approche contourne le bruit des lignes CALL et RET standard, vous permettant de vous concentrer sur le bloc de code spécifique causant le goulot d'étranglement.
Insérer une ligne comme jdeWriteLog(NULL, "PERF_START: F0911_Processor_Loop"); au début d'un bloc de traitement fournit une ancre prête pour grepUn utilitaire de ligne de commande Unix/Linux utilisé pour rechercher des chaînes de caractères ou des expressions régulières dans des fichiers texte., distincte des 20 Mo d'autres données générées lors d'une transaction typique. En l'associant à un marqueur PERF_END correspondant au point de sortie, vous créez une fenêtre mesurable dans le fichier de log. L'utilisation de ces préfixes uniques garantit que même si vous analysez un log de 500 000 lignes, une simple recherche en ligne de commande ou un script PythonUn programme écrit dans le langage de programmation Python, souvent utilisé pour l'automatisation de tâches, l'analyse de données ou le traitement de texte. basique peut extraire les horodatages exacts de la logique que vous auditez. Cette méthode est bien plus fiable que d'essayer de calculer manuellement le delta entre des appels JDB_SelectUne fonction interne de JD Edwards EnterpriseOne utilisée pour initier une requête de sélection de données à partir d'une base de données. non liés.
De nombreux développeurs tentent d'utiliser des structures de chronométrage JDE internes ou des bibliothèques C spécifiques à la plateforme pour mesurer les performances, mais celles-ci se cassent souvent lors des mises à niveau de Tools ReleaseUne mise à jour logicielle pour la plateforme technologique de JD Edwards EnterpriseOne, apportant de nouvelles fonctionnalités et des améliorations. de 9.2.5 à 9.2.8 en raison de changements de fichiers d'en-tête ou de compilateurs. S'en tenir à l'API de journalisation standard garantit que vos "hooks" de performance restent portables sur tous les déploiements 64 bits et 32 bitsDifférentes architectures logicielles et matérielles. Les systèmes 64 bits peuvent gérer plus de mémoire et sont généralement plus performants que les 32 bits. sans nécessiter de fichiers d'inclusion supplémentaires ou de configurations de build complexes. C'est un moyen plus propre et plus durable d'instrumenter le code qui survivra à la prochaine décennie de mises à jour d'applications.
Dans un projet récent impliquant un client de distribution à volume élevé, nous avons utilisé ces marqueurs pour identifier un délai d'environ 400 ms se produisant à l'intérieur d'une boucle imbriquée qui était appelée 10 000 fois par exécution de lot. La journalisation standard montrait que la BSFN prenait plus d'une heure à s'exécuter, mais les marqueurs personnalisés ont identifié un appel GetAddressBookConstantUne fonction interne de JD Edwards EnterpriseOne utilisée pour récupérer des constantes ou des informations de l'annuaire. redondant au sein de la boucle comme étant le coupable. La suppression de ce seul appel a réduit le temps d'exécution total du lot de plus des trois quarts, une victoire qui aurait été obscurcie par le volume considérable de la sortie de débogage standard.
Établir une base de référence statistique des performances
Une seule trace d'exécution d'une BSFN comme F4211FSBeginDocUne fonction métier (BSFN) de JD Edwards EnterpriseOne, souvent la première étape du processus de traitement des commandes clients. est une anecdote, pas une métrique. Dans un environnement multi-tenantUn environnement où une seule instance logicielle sert plusieurs clients ou organisations, chacun ayant ses données isolées., une latence réseau transitoire ou une contention de base de données peut doubler le temps d'exécution d'un seul appel. Pour établir une base de référence fiable, exécutez le même processus un minimum de 10 fois dans des conditions contrôlées. Calculez le temps d'exécution médian plutôt que la moyenne pour éviter qu'un seul pic ne fausse la cible. Si vous mesurez un appel B0100066Une fonction métier (BSFN) standard de JD Edwards EnterpriseOne, souvent liée à la gestion des adresses ou des entités. à 150 ms une fois et à plus de 400 ms plus tard en raison d'un verrou temporaire, la moyenne est inutile pour le réglage.
Écartez les exécutions aberrantes qui coïncident avec une activité système intense. Les développeurs perdent souvent des jours à déboguer des régressions de performanceUne dégradation inattendue des performances d'un système ou d'une application après une modification, une mise à jour ou un déploiement. qui sont en fait juste une construction complète de package serveurLe processus de compilation et de déploiement de tous les objets JD Edwards EnterpriseOne sur un serveur d'entreprise. saturant le CPUAbréviation de "Central Processing Unit" (Unité Centrale de Traitement), le "cerveau" de l'ordinateur qui exécute les instructions des programmes. du serveur d'entreprise ou un déploiement massif d'ESUAbréviation de "Electronic Software Update". Ce sont des correctifs ou des améliorations logicielles fournis par Oracle pour JD Edwards EnterpriseOne. sollicitant la base de données. Validez que la charge système est constante sur les 10 exécutions en utilisant les métriques du Server Manager. Si une exécution dévie de plus de 25 %, vérifiez si un UBE concurrent comme R42520Un programme de traitement par lots (UBE) de JD Edwards EnterpriseOne, tel que R42520 (Print Invoices), qui s'exécute en même temps qu'un autre processus. était en concurrence pour les ressources.
Les comparaisons "à données égales" nécessitent un jeu de données figé. Si vous profilez F4211FSEndDocUne fonction métier (BSFN) de JD Edwards EnterpriseOne, souvent la dernière étape du processus de traitement des commandes clients., utilisez une commande client spécifique avec exactement 50 lignes. Les variations dans les données rendent les logs de chronométrage incomparables car la logique d'itérationLa répétition d'un processus ou d'un bloc de code plusieurs fois, souvent avec des données différentes à chaque passage. à l'intérieur du code C évolue de manière non linéaire. Documentez le numéro et le type de commande spécifiques pour vous assurer que les passes d'optimisation ultérieures empruntent les mêmes chemins de code.
Mesurer les performances altère inévitablement les résultats. L'activation de jdedebug.log introduit une surcharge mesurable, ajoutant généralement 2 % à 5 % au temps d'exécution total. Cette pénalité est non négociable pour une précision à la microseconde, mais doit être prise en compte dans le rapport final. Lorsque vous présentez une amélioration de 20 % de la vitesse, précisez que ce delta reste vrai même lorsque la journalisation est désactivée en production.

Analyse des chronométrages de log et calcul du delta
Le jdedebug.log est un flux continu, mais le noyau Call Object fournit les "miettes de pain" spécifiques nécessaires au chronométrage. Recherchez les marqueurs "Entering JDERTAbréviation de "JD Edwards Runtime", le composant d'exécution des fonctions métier (BSFN) dans JD Edwards EnterpriseOne.: [Function Name]" et "Exiting JDERT: [Function Name]". Soustraire l'horodatage PERF_STARTUn marqueur personnalisé inséré dans le code via jdeWriteLog pour délimiter le début d'un bloc de code à chronométrer. de l'horodatage PERF_ENDUn marqueur personnalisé inséré dans le code via jdeWriteLog pour délimiter la fin d'un bloc de code à chronométrer. vous donne la durée d'exécution brute. Dans un environnement 9.2, ces horodatages sont enregistrés en microsecondes, vous permettant de détecter les micro-latences qui s'accumulent en minutes sur une exécution par lots de 50 000 enregistrements.
La durée brute est souvent une métrique trompeuse lorsqu'il s'agit de logique complexe comme B4201500Une fonction métier (BSFN) spécifique dans JD Edwards EnterpriseOne, souvent liée au traitement des commandes ou des prix.. Si la fonction s'exécute pendant plusieurs centaines de millisecondes mais appelle GetItemPriceUne fonction interne de JD Edwards EnterpriseOne utilisée pour récupérer le prix d'un article. vingt fois, le goulot d'étranglement pourrait ne pas être la logique parente. Vous devez soustraire la durée cumulative de tous les appels BSFN enfants du temps total du parent pour isoler le temps propre (Self Time)Le temps d'exécution d'une fonction, hors du temps passé dans les fonctions qu'elle appelle. Il mesure la logique interne de la fonction elle-même.. Cette distinction est critique ; optimiser une fonction parente alors que la grande majorité de la latence réside dans une récupération F4101Une table de base de données standard dans JD Edwards EnterpriseOne qui stocke les informations de base sur les articles (Item Master). imbriquée est une perte d'heures de développement.
Analyser manuellement un fichier de log de 2 Go est une recette pour l'erreur. Utilisez Notepad++Un éditeur de texte et de code source gratuit, populaire pour sa légèreté et ses fonctionnalités avancées, comme la coloration syntaxique et la comparaison de fichiers. avec le plugin CompareUne extension pour Notepad++ qui permet de comparer deux fichiers côte à côte et de visualiser leurs différences. pour repérer les écarts entre les exécutions, ou un script Python utilisant des expressions régulièresDes séquences de caractères qui définissent un modèle de recherche, utilisées pour trouver et manipuler du texte dans des chaînes ou des fichiers. pour analyser le PID et l'ID de threadUn identifiant unique attribué à un thread (une unité d'exécution au sein d'un processus) par le système d'exploitation.. Un script peut parcourir le log, pousser les horodatages dans une pile pour les appels imbriqués, et générer un CSVAbréviation de "Comma Separated Values" (Valeurs Séparées par des Virgules), un format de fichier texte simple pour stocker des données tabulaires. de chaque exécution de BSFN avec son temps propre dédié. Cela transforme une plainte subjective en une liste classée des dix fonctions les plus coûteuses.
Se concentrer sur les lignes d'entrée et de sortie garantit que vous mesurez le temps d'exécution JDEAbréviation de JD Edwards EnterpriseOne, un système de planification des ressources d'entreprise (ERP) développé par Oracle. et la logique BSFN, plutôt que la simple exécution SQLAbréviation de "Structured Query Language", un langage standard pour gérer et interroger des bases de données relationnelles.. Lors d'une migrationLe processus de déplacement de données, d'applications ou de systèmes d'un environnement à un autre, souvent vers une version plus récente. récente, cette analyse delta a révélé une BSFN personnalisée effectuant 3 000 recherches de cache redondantes par transaction. Celles-ci étaient invisibles dans les temps d'achèvement UBE mais évidentes une fois les durées imbriquées soustraites. La correction de la logique a réduit la durée totale de la tâche de quatre heures à moins de trente minutes.
Validation de l'optimisation et limites des affirmations
Une optimisation réduisant d'environ 50 ms un appel BSFN de Saisie de Commande Client (P42101)Une application standard de JD Edwards EnterpriseOne (JDE) utilisée pour créer et gérer les commandes clients. est statistiquement non pertinente si votre "jitter" de référence est d'environ ±75 ms. Vous devez exécuter au moins 10 itérations du processus dans un environnement contrôlé pour établir un seuil d'écart-typeUne mesure statistique de la dispersion des données autour de la moyenne, indiquant la variabilité ou la volatilité d'un ensemble de valeurs.. Si le gain de performance moyen ne dépasse pas cette variance, vous n'avez pas optimisé le code ; vous avez simplement capturé une tranche favorable de planification CPU ou de "cache hitsLorsque les données demandées sont trouvées dans le cache, ce qui permet un accès rapide sans avoir à les récupérer de la source originale plus lente.". Valider le delta par rapport au bruit du système empêche l'équipe de poursuivre des améliorations fantômes qui disparaissent dès que le système atteint 60 % de charge utilisateur concurrente.
Les développeurs seniors tombent souvent dans le piège de la sur-ingénierie du code C pour gagner un gain nominal de 10 ms. Remplacer une boucle SelectUne opération SQL qui récupère des données d'une base de données. et Fetch NextUne opération SQL qui récupère la ligne suivante du jeu de résultats. lisible par des pointeurs personnalisésDes variables en programmation C qui stockent des adresses mémoire, permettant un accès direct et potentiellement plus rapide aux données. complexes ou une gestion manuelle de la mémoireLe processus par lequel un programmeur alloue et libère explicitement la mémoire système, plutôt que de s'appuyer sur un gestionnaire automatique. pourrait réduire le temps d'exécution d'une quantité négligeable, mais cela double le temps nécessaire au prochain consultant pour déboguer une fuite de mémoireUne situation où un programme alloue de la mémoire mais ne la libère jamais, entraînant une consommation croissante de ressources et potentiellement des pannes.. Si la BSFN est appelée une fois par transaction, la charge de maintenance d'un code hyper-optimisé l'emporte largement sur le gain fractionnel de débitLa quantité de travail ou de données qu'un système peut traiter dans une période donnée, une mesure clé de la performance.. Réservez la logique agressive aux fonctions à l'intérieur de la boucle interne d'un UBE à volume élevéUn programme de traitement par lots (UBE) de JD Edwards EnterpriseOne qui traite un très grand nombre d'enregistrements ou de transactions. ou d'une orchestration AISL'utilisation des services d'interface d'application (AIS) de JD Edwards EnterpriseOne pour automatiser et coordonner des séquences complexes d'opérations métier. traitant des milliers d'enregistrements par heure.
Les gains de performance sont rarement linéaires sur différents jeux de données. Un changement de logique qui accélère un ajustement d'inventaire d'une seule ligne peut en fait dégrader les performances lors du traitement d'une commande d'achat EDI de 1 000 lignes si le nouveau code introduit une complexité O(n²)Une notation de complexité algorithmique indiquant que le temps d'exécution augmente de manière quadratique avec la taille des données d'entrée (n).. Vous devez vérifier l'optimisation aux deux extrémités du spectre : la transaction typique de 10 lignes et le cas limite du lot de 1 000 lignes. Utilisez les chronométrages des logsLes enregistrements d'horodatage détaillés dans les fichiers de journalisation, utilisés pour mesurer la durée d'exécution de processus ou de fonctions. pour confirmer que le temps par enregistrement reste stable ou s'améliore à mesure que le volume augmente, garantissant que la correction ne devienne pas un goulot d'étranglement pendant le traitement de fin de mois.
Enregistrez les métriques de performance spécifiques dans l'en-tête de la source BSFN et les notes de projet OWMAbréviation de "Object Workbench Manager", un outil de développement dans JD Edwards EnterpriseOne pour gérer les objets et leur documentation. une fois l'optimisation vérifiée. Documentez la moyenne de référence, la moyenne optimisée et les conditions de test utilisées, comme un lot de 1 000 lignes passant d'environ 40 secondes à 30 secondes. Cela fournit à l'équipe CNC et aux futurs développeurs un "benchmarkUn point de référence ou une mesure standard utilisée pour évaluer et comparer les performances d'un système ou d'un composant." clair, les empêchant de régresser accidentellement les performances lors d'un futur "retrofit ESULe processus d'application manuelle des modifications d'une mise à jour logicielle (ESU) à des objets personnalisés dans JD Edwards EnterpriseOne." ou d'une mise à niveau de Tools Release. Une documentation claire transforme une correction ponctuelle en un atout architectural permanent.
Ce guide sur le profilage des performances des BSFN par l'analyse des logs et le chronométrage précis fait partie d'une série sur les standards techniques de développement JDEAbréviation de JD Edwards EnterpriseOne, un système de planification des ressources d'entreprise (ERP) développé par Oracle.. Si ces techniques vous parlent pour votre projet d'optimisation actuel, je vous encourage à consulter d'autres articles ici couvrant les modèles de cache JDELes stratégies et les implémentations spécifiques de mise en cache utilisées dans JD Edwards EnterpriseOne pour optimiser l'accès aux données. et l'optimisation SQLLe processus d'amélioration des requêtes SQL pour qu'elles s'exécutent plus rapidement et utilisent moins de ressources de base de données..