Mesure de la performance d’une application dite “client lourd”

La tendance actuelle en développement logiciel tend vers l’infrastructure client/serveur avec de plus en plus d’applications Web. Mais cela n’était pas le cas il y a quelques années. On retrouve donc des applications historiques natives.

Une application lourde est développée dans un langage de programmation classique (.Net, Java, Python…). Elle doit être installée et exécutée sur un environnement spécifique (Windows pour un .exe .Net par exemple). Elle peut embarquer sa propre base de données ou bien contacter un serveur de base de données distant.

A la différence d’un client dit “léger” (navigateur internet), l’application consomme les ressources nécessaires sur la machine depuis laquelle elle est exécutée. Elle peut également faire appel à des services externes.

La difficulté de mesure de la performance réside dans le fait qu’il est complexe d’automatiser la détection d’une action utilisateur. En effet, les agents des solutions APM (Application Performance Management) ne peuvent pas détecter le début d’une transaction utilisateur. Il faut donc préciser la classe et la méthode (Présente dans le code source) déclenchées par une action particulière à mesurer.

Des solutions APM efficaces

Des solutions permettent une détection en temps réel pour faciliter cette étape, comme la fonction “Live Preview” d’AppDynamics par exemple. Elle affiche les différentes classes détectées lors d’une action utilisateur. Cela facilite ensuite la configuration de notre point d’entrée.

Parfois, la même méthode est appelée pour deux actions différentes, il faut alors préciser un paramètre différenciant. Ainsi nous pouvons obtenir une liste des transactions utilisateur à monitorer simplement. La configuration n’est à effectuer qu’une seule fois.

Si vous souhaitez avoir plus d’informations sur cette méthodologie dans votre contexte, n’hésitez pas à nous contacter en cliquant ici.