Ce que nous apprend la virtualisation sur les réels besoins informatiques

Consolidation grâce à la virtualisation

La virtualisation à grande échelle permet la consolidation des ressources informatiques. Et cette consolidation permet de constater que les efforts de performances ne sont pas forcément déployés là où il y en a le plus besoin. Je rebondis sur diverses discussions lues ci-et-là, mais pour être concret, je vais prendre l’exemple de mon serveur dédié utilisé pour de l’hébergement web.

Celui-ci fonctionne comme hôte à des machines virtuelles (ou VPS pour Virtual Private Server). En fait, des environnements virtuels (ou VE pour Virtual Environnement). La différence est subtile. En théorie, je n’y fais pas de virtualisation, mais de l’isolation via OpenVZ intégré à Proxmox. Peu importe ici, à dire vrai.

Mon serveur

Le serveur physique est architecturé autour de ses trois principaux composants :

  • 16 cœurs dans le processeur central, utilisé habituellement à 2 %,, toujours moins de 10 % utilisés aux moments les plus chargés) ;
  • 32 Gio de mémoire (RAM), utilisés en théorie à 13 Gio (pour l’ensemble de la RAM réservée par les logiciels), mais dans la pratique, à peine 7 Gio (pour ce qui est de la RAM effectivement utilisée par ces logiciels), soit moins de 25 % utilisés ;
  • 1,5 Tio de disque dur, dont à peine 250 à 450 Gio effectivement utilisés, environ 400 à 600 Gio avec les multiples sauvegardes locales (rassurez-vous, il y a aussi des sauvegardes distantes), soit moins de 40 % utilisés ;

Mémoire de masse

Le serveur n’est pas limité par l’espace de stockage, vu qu’il n’en utilise que 40 %, malgré des sauvegardes multiples. En revanche, il l’est au niveau des performances.

En effet, c’est un disque dur magnétique classique, à ceci près qu’il dispose d’une carte RAID (mais dépourvue de batterie) et de disques montés en RAID-1 (ou mirroring). En somme, les écritures sont faites en double (via la carte dédiée, donc a priori pas plus coûteux pour le serveur qu’une écriture unique), alors que les lectures peuvent être entrelacées depuis chaque disque (donc jusqu’au double de la vitesse de lecture d’un disque unique). Pour autant, en cours de sauvegarde locale, les performances du serveur s’effondrent : jusqu’à -50 % sur une application de base de données gourmande en accès disques.

L’espace de stockage double tous les 12 mois. Pour autant, la progression de la vitesse n’est pas au rendez-vous encore. Attendons que le SSD se généralise, mais ça commence à se faire long. L’arrivée généralisée des SSD sur les portables est attendue pour 2012 seulement. Donc pas avant 2013 pour les autres secteurs, bureau et serveurs, en dehors des cas exceptionnels comme aujourd’hui. En matière de performances, il faut donc attendre un saut technologique qui tarde à venir.

Mémoire vive

Aujourd’hui, le serveur n’est pas limité par la RAM. En n’exploitant même pas 25 % des capacités de mémoire vive, ce poste est tout de même plus gourmand que le disque dur.

En fait, je suis limité par la RAM. Mais limité sur une seule des applications, très gourmande en accès disque. Cependant, placer toutes les données en RAM est trop coûteux, et réclamerait une mise à jour matérielle constante, les données ayant tendance à grossir. En outre, les performances actuelles sont pleinement satisfaisantes et n’ont pas vraiment besoin d’une vitesse accrue. Ceci pour dire que la RAM n’est pas un problème ici.

Puissance de calcul

En n’utilisant même pas 10 % de ses capacités de calcul, le serveur n’a clairement aucun besoin de ses 16 cœurs. Dans tous les cas où le processeur montre des signes de faiblesse, il s’avère que le processeur attend le disque dur. Ce n’est donc pas l’ajout de nouveaux processeurs ou l’augmentation de la fréquence qui va y changer quoi que ce soit.

Conclusion

Il en résulte que les ressources ne sont pas équilibrées.

Les progrès en processeurs ont été particulièrement importants depuis des décennies, et les CPU actuels sont de véritables bêtes de course, au point qu’ils sont sous-exploités sur les serveurs web, sans doute plus sollicités dans les fermes de calcul ou les jeux vidéo. En matière de mémoire vive, si le CPU devait être pleinement exploité, il en faudrait plus, au moins deux fois plus. Pour ce qui est des disques durs, c’est du côté des performances, et non de l’espace de stockage, qu’il faudrait faire des efforts.

Bien entendu, mon serveur n’est pas représentatif de tous les usages d’un ordinateur, ni même d’un autre serveur. On peut aisément imaginer qu’un serveur de jeux vidéo sollicite davantage le CPU. De même pour un serveur dédié à la compression vidéo, par exemple, où la puissance de calcul réclamée est importante du fait de la quantité des données à convertir aux divers formats supportés.

Pour autant, à part ces usages finalement très spécifiques et peu représentatifs du web en général, une solution permettant des gains de performances les plus rapides est sans doute d’augmenter drastiquement la RAM des serveurs. Il en résulterait une augmentation des capacités de consolidation et une sollicitation à la baisse du disque dur, améliorant les performances de l’ensemble à moindres frais, sans rendre un serveur plus complexe à maintenir, ce qu’il se passerait sans doute en ajoutant des disques additionnels réclamant une configuration logicielle spécifique.

Speak Your Mind

*