6. FAQ

Contenu de cette section

Q1.

Existe-t-il un indice de performances spécifique aux machines Linux ?

A.

Non, Dieu merci personne n'a encore inventé de mesure du type Lhinuxstone (tm). Même si c'était le cas, ça n'aurait pas beaucoup de sens : les machines Linux sont utilisées pour des tâches tellement différentes allant des serveurs Web lourdement chargés aux stations graphiques pour utilisation individelle. Aucun facteur de mérite ne peut décrire les performances d'une machine Linux dans des situations si différentes.

Q2.

Alors, pourquoi ne pas choisir une douzaine de métriques pour résumer la performance de diverses machines Linux ?

A.

Ça serait une situation idéale. J'aimerai voir ça devenir une réalité. Y-a-t-il des volontaires pour un projet d'évaluation de performances sous Linux ? Avec un site Web et une base de données de rapports bien conçus, complète et en ligne ?

Q3.

... BogoMips ...

A.

Les BogoMips n'ont strictement rien à voir avec la performance de votre machine. Voir le BogoMips Mini-HOWTO.

Q4.

Quel est le "meilleur" benchmark pour Linux ?

A.

Ça dépend complètement de quel aspect des performances d'une machine Linux on souhaite mesurer. Il y a des benchmarks différents pour faire des mesures réseau (taux de transfert soutenu sous Ethernet), des mesures de serveur de fichiers (NFS), de bande passante, de performance CAO, de temps de transaction, de performance SQL, de performances de serveur Web, de performance temps-réel, de performance CD-ROM, de performance sous Quake (!), etc ... Pour autant que je sache, aucune suite de benchmarks supportant tous ces tests n'existe pour Linux.

Q5.

Quel est le processeur le plus rapide pour Linux ?

A.

Le plus rapide pourquoi faire ? Si on est plutôt orienté calcul intensif, alors un Alpha à fréquence d'horloge élevée (600 MHz et ça continue à grimper) devrait être plus rapide que n'importe quoi d'autre, du fait que les Alphas ont été conçus dans cette optique. D'un autre côté, si vous voulez vous constituer un serveur de news très rapide, il est probable que le choix d'un sous-système disque rapide et de beaucoup de RAM vous menera à de meilleures améliorations de performances qu'un changement de processeur (à prix constant).

Q6.

Laissez-moi reformuler la dernière question, alors : y-a-t-il un processeur qui soit le plus rapide dans les applications d'usage général ?

A.

C'est une question délicate mais la réponse est simple : NON. On peut toujours concevoir un système plus rapide même pour des applications d'usage général indépendamment du processeur. D'ordinaire, en conservant tous les autres paramètres à leur valeur nominale, des fréquences d'horloge plus élevées permettent d'obtenir de meilleures performances (ndt : surtout si on parle de systèmes synchrones :-) et aussi plus de maux de tête. Si vous retirez un vieux Pentium à 100 MHz d'une carte-mère (laquelle n'est pas souvent) upgradable, et que vous le remplaciez par un Pentium 200 MHz MMX vous devriez sentir une différence de performances notable. Bien sûr, pourquoi se contenter de 16 MB de RAM ? Le même investissement aurait été fait de façon encore plus avisée au profit de quelques SIMMs supplémentaires...

Q7.

Donc la fréquence d'horloge du processeur a une influence sur la performance d'un système ?

A.

La plupart des tâches sauf les boucles de NOP (qui sont d'ailleurs supprimées à la compilation par les compilateurs modernes) une augmentation de la fréquence d'horloge permettra d'obtenir une augmentation linéaire de la performance. Des applications gourmandes en ressources CPU et très petites (pouvant donc tenir dans le cache L1 : 8 ou 16KB) verront leur performances augmenter dans la même proportion que l'augmentation de la fréquence d'horloge. Cependant les "vrais" programmes comportent des boucles qui ne tiennent pas dans le cache primaire, doivent partager le cache secondaire (externe) avec d'autres processus et dépendent de composants externes (ndt : pour les E/S) bénéficieront d'un gain de performance beaucoup moins important. Tout ceci parce que le cache L1 fonctionne à la même fréquence d'horloge que le processeur, alors que la plupart des caches L2 et des autres sous-systèmes (DRAM par exemple) tournent en asynchrone à des fréquences plus basses.

Q8.

D'accord, dans ce cas, une dernière question sur le sujet : quel est le processeur présentant le meilleur rapport prix/performance pour une utilisation d'usage général sous Linux ?

A.

Définir une "utilisation d'usage général sous Linux" n'est pas chose facile ! Etant donnée une application quelconque, il y a toujours moyen de déterminer quel processeur du moment détient le meilleur rapport prix/performance pour ladite application. Mais les choses changent si rapidement à mesure que les fabriquants diffusent de nouveaux processeurs, que dire "le processeur XYZ à n MHz est le choix du moment" serait forcément réducteur. Cependant, le prix du processeur n'est pas significatif dans le coût d'un système complet que l'on assemble soi-même. Donc, la question devrait plutôt être "comment maximize-t-on le rapport performance/coût d'une machine donnée ?" Et la réponse à cette question dépend en grande partie des besoins en performance minimale garantie et/ou du coût maximal de la configuration que l'on considère. Il arrive parfois que le matériel sur étagère ne permette pas d'atteindre les besoins en performance minimale garantie que l'on souhaite obtenir et que des systèmes RISC coûteux soient la seule alternative viable. Pour une utilisation personnelle, je recommende une configuration équilibrée et homogène du point de vue de la performance globale (et maintenant débrouillez vous pour deviner ce que j'entends par équilibré et homogène :-); le choix d'un processeur est une décision importante, mais pas plus que celle du disque dur et de sa capacité, celle de la quantité de RAM, celle de la carte graphique, etc...

Q9.

Qu'est-ce qu'une amélioration significative des performances ?

A.

Je dirais que tout ce qui est sous 1% n'est pas significatif (pourrait être décrit comme marginal). Nous autres, simples mortels, avons du mal à percevoir la différence entre 2 systèmes dont les temps de réponses sont distants de moins de 5% . Bien sûr, certains évaluateurs de performances - plutôt de la tendance intégriste - ne sont aucunement humains et vous raconteront, en comparant 2 systèmes dont les indices de performances sont de 65.9 et de 66.5, que ce dernier est indubitablement plus rapide.

Q10.

Comment puis-je obtenir une amélioration significative de performance à moindre coût ?

A.

Puisque le code source complet de Linux est disponible, un examen attentif et une re-conception algorithmique de procédures clés peuvent, dans certains cas, déboucher sur des améliorations jusqu'à un facteur 10 en terme de performance. Si l'on est sur un projet commercial et qu'on ne souhaite pas plonger dans les tréfonds du code source du système, l'implication d'un consultant Linux est nécéssaire. Cf. le Consultants-HOWTO.


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre