Les problèmes de performance sont souvent assez délicats à résoudre car ils peuvent provenir d'une multitude de sources.
Cependant les sources les plus courantes sont :
- Paramétrage inadapté
- de la base de données,
- du serveur WEB.
- d'un autre élément du système (réseau par exemple)
- Saturation d'un ou plusieurs éléments liés au matériel :
- CPU serveur,
- Mémoire,
- Sous-système disque,
- Réseau,
- CPU des postes utilisateurs, en général moins important actuellement, les utilisateurs disposent en général de machines puissantes,
- ...
- Programmation incorrecte.
- Ceci est particulièrement le cas pour les ordres SQL qui ne sont pas toujours optimisés et souvent pénalisés par des index inadéquats.
- Il arrive que certains éléments, par exemple la mise en historique, n'aient pas été prévus à l'origine du logiciel et que la base soit surchargée par des années de données qui devraient être archivées depuis longtemps ... car elle n'ont plus aucun intérêt pour un utilisateur "normal".
- Utilisation de la même machine pour des traitements interactifs et de traitements statistiques/commerciaux lourds qui ont tendance à donner des performances "en dent de scie".
La résolution de ce type de problème passe par :
- Un audit détaillé des applications et de l'architecture matérielle et logicielle.
- La définition et le choix de mesures de concert avec les utilisateurs pour permettre de définir l'état actuel des performances.
- Cet état servira ensuite de point de référence pour les actions suivantes.
- Il est aussi intéressant de définir la performance espérée.
- La prise de ces mesures de référence « en réel », par exemple en utilisant un simulateur de charge tel que "Neoload".
- Une analyse fine des mesures réalisées. Cette étape peut éventuellement « boucler » sur la définition de mesures complémentaires destinées à affiner la recherche.
- Une réflexion globale définissant les stratégies possibles.
- Une évaluation des gains apportés par chaque stratégie
- Une évaluation du coût de chaque stratégie
- Le choix des stratégies à mettre en place en fonction du rapport gain espéré / coût de mise en place.
- La mise en place des stratégies choisies.
- Une nouvelle prise des mesures définies précédemment afin de valider les résultats obtenus par comparaison avec la référence établie précédemment.