J'ai eu quelques plaintes concernant le temps de réponse d'une application, alors je cherche où accélérer les choses. À l'aide d'un écouteur de phase de profilage et de certains wrappers de profilage, je m'attendais à trouver certaines choses qui devaient être mises en cache. Cependant, cela ne semble pas être le cas. Un essai exemple typique ressemble à ceci:Effectuer des réglages de performance et ne pas savoir où se trouve le temps
Controller>afterRestoreView completed in 0:00.000.044769
PhaseProfiler>LIFECYCLE>RESTORE_VIEW completed in 0:00.017.090231
PhaseProfiler>LIFECYCLE>APPLY_REQUEST_VALUES completed in 0:00.012.076884
PhaseProfiler>LIFECYCLE>PROCESS_VALIDATIONS completed in 0:00.003.804324
PhaseProfiler>LIFECYCLE>UPDATE_MODEL_VALUES completed in 0:00.002.898762
PhaseProfiler>LIFECYCLE>INVOKE_APPLICATION completed in 0:00.000.113143
Controller>beforeRenderResponse completed in 0:00.000.012222
Controller>afterRenderResponse completed in 0:00.000.003143
Counted resolves: 4975
Top ten most expensive resolves:
Total took a total of 0:00.020.281386s
flashScope took a total of 0:00.006.770973s
caseBean took a total of 0:00.004.517358s
caseFilter took a total of 0:00.003.038453s
row took a total of 0:00.001.741708s
session took a total of 0:00.001.026528s
compositeData took a total of 0:00.000.983215s
uiService took a total of 0:00.000.641919s
requestScope took a total of 0:00.000.391530s
options took a total of 0:00.000.176558s
PhaseProfiler>LIFECYCLE>RENDER_RESPONSE completed in 0:02.900.494895
PhaseProfiler>LIFECYCLE completed in 0:02.936.944360
donc quelque chose dans renderResponse est de prendre environ 2,9 secondes, mais ce n'est pas mes gestionnaires d'événements et ce ne sont pas mes fixations variables. L'utilisation de System.nanoTime n'est pas très performante, mais elle semble ajouter environ une seconde ou moins par rapport à System.currentTimeMillis, il me manque donc pas mal de temps. Je ne peux représenter que moins de 21ms.
Existe-t-il des techniques pour creuser plus profondément?
Je suis toujours sur 8.5.3 donc pas de R9 est une fonctionnalité, pas un bug: D. –
XPages Toolbox devrait fonctionner sur 8.5.2+. Les éléments clés placent la base de données dans le bon emplacement (la racine), pointé vers le fichier jar, dont l'emplacement est défini dans le fichier de configuration de texte devant être placé dans le dossier du programme Domino, pointé sur le fichier notes.ini. Il doit également y avoir une modification de la politique de sécurité java (cela peut être juste pour changer les niveaux de journalisation). Par conséquent, il n'est pas recommandé pour les serveurs de production. –