fond

Comment optimiser son application web ?

Architecture logicielle, qualité du code, connexion à la base de données... Voici les principales pistes à explorer pour optimiser une application dont les performances ne sont pas satisfaisantes.
decoration

Optimisation des performances

Suite à, ou indépendamment de l'audit de performance, il est possible de mener des actions efficaces pour améliorer les performances d'une application WEB.

Quand le tuning de l'application n'est pas suffisant pour atteindre les objectifs, une mission d'analyse des performances examine en détail les causes du défaut de performance.

Dans cette analyse, nous rentrons en détail dans le code source des applications, dans les interactions entre les différentes briques et dans les bases de données.

L'objectif de cette mission est de trouver tous les points qui pénalisent les performances et d'apporter soit un correctif soit une solution de contournement. Dans tous les cas, nous vous livrons tous les points d'améliorations possibles sur l'intégralité de l'architecture de votre application. 

schema-architecture-performance

Exemple d'analyse des performances architecture web

La démarche de l'optimisation de performance

Notre démarche  se décompose en 4 grandes phases qui permettent de faire un examen le plus exhaustif possible.

1 -Optimisation de performance - Analyse de l'architecture

L'analyse de l'architecture est primordiale pour bien comprendre les différentes briques et les interactions entre les différents logiciels. Voici la liste des activités de l'analyse de l'architecture :

  • Etude des composants de l'application
  • Etude des interactions
  • Etude de l'architecture technique
  • Etude des cas d'utilisation réels

2 - Optimisation de performance - Analyse du code source

Il est souvent nécessaire de rentrer en détail dans le code source de l'application car c'est souvent à cet endroit que les défauts de performances se situent.

En effet, il suffit d'une erreur de programmation pour engendrer des pertes de performances importantes en particulier lors des montées en charge. Il est courant de constater que le défaut de performance ne se fait pas constater sur les environnements de développement ou de test car la volumétrie des données est plus faible. Dès lors, il est nécessaire d'analyser chaque partie du code source de l'application pour déterminer les actions à mener pour améliorer les performances.

3 - Optimisation de performance - Analyse des interactions

Dans les applications modernes, l'architecture est souvent composée de plusieurs logiciels ou briques qui communiquent les unes avec les autres par l'intermédiaire de message. Ces messages peuvent prendre plusieurs formes :

  • Appels WS
  • Message JMS
  • Echange de fichier
  • Transfert de fichier XML
  • Batch de synchronisation
  • Volumétrie
  • ...

Ces différents appels et traitements peuvent et sont souvent l'origine des défauts de performances.

Par exemple, si une application consomme de nombreux appels de service Web, la multiplication de traitements XML engendre une grande consommation des ressources. Pour pallier à ces problèmes, il existe de nombreuses solutions qui améliorent sensiblement les performances.

Néanmoins ces améliorations nécessitent souvent un travail de re-développement, ou de modification d'architecture qu'il convient de bien dimensionner pour être certain d'avoir un ROI important.

4 - Optimisation de performance - Analyse de la base de données

La base de données concentre à elle seule, une grande partie des problèmes de performances.

Agissant comme référentiel central d'un SILe SI désigne le système d'informations d'une organisation., elle englobe l'intégralité des informations utilisées par les applications. Or la volumétrie des informations stockées dans les bases de données ne cesse d'augmenter. Plusieurs facteurs sont à l'origine des défauts de performances liés à la base de données :

  • Un schéma de base de données mal optimisé
  • Des requêtes peu performantes
  • Une liaison application base de données trop faible
  • Une mauvaise utilisation des caches
  • Une sollicitation trop grande de la base de données
  • Des traitements trop lourds
  • Des sauvegardes mal optimisées
  • Des spécificités de chaque vendeur de base de données
  • Configuration de la base de données
  • ...

Notre expertise permet d'avoir une vision claire des défauts liés à la base de données, nous étudions l'intégralité des requêtes et des schémas afin d'analyser finement tout ce qui peut impacter positivement les performances de la base de données. 

performance-applicative

Les livrables de l'optimisation des performances

Afin de vous aider, nous vous livrons des livrables clairs qui vous permettent de prendre des décisions (corrections, évolutions de l'architecture, redimensionnement des environnements,...).

Voici les livrables habituels de la mission d'optimisation des performances :

  • Schéma de l'application avec les points de vigilance
  • Une liste des points d'amélioration et des ROI attendus
  • Un guide technique pour chaque point expliquant la correction ou l'évolution à apporter
  • Une matrice d'aide aux choix avec tous les points d'amélioration et les coûts associés

L'idéal est de pouvoir s'inscrire dans une démarche de maitrise des performances.

Il est aussi possible de travailler spécifiquement sur l'optimisation de la performance de l'affichage des pages web. 

audit-performance-applicative-matrice-aide-aux-choix

Le suivi des performances AXOPEN

Nous pouvons vous accompagner dans la réalisation des corrections et évolutions. Nos équipes d'experts et de développeurs peuvent réaliser pour vous l'intégralité de ce que nous vous recommandons. Nous sommes donc capables d'assurer à la fois le conseil mais aussi la réalisation et le suivi des performances.

Nous pouvons, au besoin, assister vos développeurs et vos experts dans leurs démarches. Dans tous les cas :

  • Nous garantissons les gains de performances obtenus
  • Nous prenons en compte vos problématiques et apportons des solutions pragmatiques et réalisables
  • Nous nous engageons sur les coûts de mise en oeuvre
  • Nous vous accompagnons dans la suite du projet

Notre vidéo en lien

Nos Références clients