Pour savoir où on va, il faut savoir d'où l'on vient

Vous avez
une question ?
Un projet ?

Contactez nous !
 

Contactez-nous

Vous avez une question ? un projet ? 
Vous souhaitez plus d'informations sur un produit ? sur notre offre ? 
Contactez-nous, on vous répond sous 4H.

retour

Performances et architecture

Performances et architecture

Une première précision à apporter est une distinction entre les questions de performances et celles d’architecture.

Bien souvent, la performance observée sur un serveur peut être améliorée par différentes actions d’optimisation, des algorithmes, de la configuration d’une base de données, des index, voire même par le choix d’un langage plus rapide.

L’optimisation vise une économie de moyens, en cherchant à réduire le temps que met un programme à réaliser sa tâche, ou bien encore à réduire l’utilisation de ressources, en particulier CPU, dans cette exécution.

Certes, il est ridicule de commencer à monter un cluster et empiler les serveurs pour tenir la charge alors que de bons index dans la base de données feraient gagner un facteur 20, comme on le voit couramment. Rien ne sert de s’attaquer à l’architecture avant d’avoir traité un niveau élémentaire d’optimisation.

L’optimisation est un sujet évidemment primordial pour bâtir des plateformes hautes-performances, mais c’est un sujet différent. Il est transverse : on peut travailler la performance par optimisation d’une part, et travailler à améliorer l’architecture d’autre part. Et bien sûr combiner les deux démarches, mais surtout mener une analyse de la valeur pour cibler ses efforts sur l’un ou l’autre de ces axes.

Mais les démarches d’optimisation ont toujours une limite – quand tout est optimal ! – tandis que les démarches portant sur l’architecture peuvent apporter une croissance sans limite, et c’est ce que nous rechercherons.

Nous ne traiterons pas sur ce site de l’optimisation des programmes, bases de données ou plus largement des composants unitaires, mais uniquement de l’optimisation générale de l’architecture, c’est à dire de l’agencement des composants et de leurs échanges.