Introduction à l'architecture globale du serveur

Un serveur est composé de plusieurs sous-systèmes, chacun jouant un rôle crucial dans la détermination des performances du serveur. Certains sous-systèmes sont plus critiques en termes de performances en fonction de l'application pour laquelle le serveur est utilisé.

Ces sous-systèmes de serveur incluent :

1. Processeur et cache
Le processeur est le cœur du serveur, chargé de gérer presque toutes les transactions. Il s’agit d’un sous-système très important, et il existe une idée fausse répandue selon laquelle des processeurs plus rapides sont toujours préférables pour éliminer les goulots d’étranglement en termes de performances.

Parmi les principaux composants installés dans les serveurs, les processeurs sont souvent plus puissants que les autres sous-systèmes. Cependant, seules quelques applications spécialisées peuvent exploiter pleinement les avantages des processeurs modernes comme les processeurs P4 ou 64 bits.

Par exemple, les exemples de serveurs classiques tels que les serveurs de fichiers ne dépendent pas fortement de la charge de travail du processeur, car la majeure partie du trafic de fichiers utilise la technologie Direct Memory Access (DMA) pour contourner le processeur, en fonction du débit des sous-systèmes de réseau, de mémoire et de disque dur.

Aujourd'hui, Intel propose une variété de processeurs personnalisés pour les serveurs de la série X. Comprendre les différences et les avantages entre les différents processeurs est crucial.

Le cache, strictement considéré comme faisant partie du sous-système de mémoire, est physiquement intégré au processeur. Le processeur et le cache fonctionnent en étroite collaboration, le cache fonctionnant à environ la moitié de la vitesse du processeur ou équivalent.

2. Bus PCI
Le bus PCI est le pipeline pour les données d'entrée et de sortie dans les serveurs. Tous les serveurs de la série X utilisent le bus PCI (y compris PCI-X et PCI-E) pour connecter des adaptateurs importants tels que SCSI et des disques durs. Les serveurs haut de gamme disposent généralement de plusieurs bus PCI et de davantage d'emplacements PCI par rapport aux modèles précédents.

Les bus PCI avancés incluent des technologies telles que PCI-X 2.0 et PCI-E, qui offrent un débit de données et des capacités de connectivité plus élevés. La puce PCI connecte le CPU et le cache au bus PCI. Cet ensemble de composants gère la connexion entre les sous-systèmes de bus PCI, de processeur et de mémoire pour maximiser les performances globales du système.

3. Mémoire
La mémoire joue un rôle essentiel dans les performances du serveur. Si un serveur ne dispose pas de suffisamment de mémoire, ses performances se détériorent, car le système d'exploitation doit stocker des données supplémentaires en mémoire, mais l'espace est insuffisant, ce qui entraîne une stagnation des données sur le disque dur.

Une caractéristique notable de l'architecture d'un serveur d'entreprise de la série X est la mise en miroir de la mémoire, qui améliore la redondance et la tolérance aux pannes. Cette technologie de mémoire IBM est à peu près équivalente au RAID-1 pour les disques durs, où la mémoire est divisée en groupes en miroir. La fonction de mise en miroir est basée sur le matériel et ne nécessite aucune prise en charge supplémentaire de la part du système d'exploitation.

4. Disque dur
Du point de vue d'un administrateur, le sous-système de disque dur est le facteur déterminant des performances du serveur. Dans la hiérarchie des périphériques de stockage en ligne (cache, mémoire, disque dur), le disque dur est le plus lent mais possède la plus grande capacité. Pour de nombreuses applications serveur, presque toutes les données sont stockées sur le disque dur, ce qui rend essentiel un sous-système de disque dur rapide.

Le RAID est couramment utilisé pour augmenter l'espace de stockage sur les serveurs. Cependant, les matrices RAID ont un impact significatif sur les performances du serveur. Le choix de différents niveaux RAID pour définir différents disques logiques affecte les performances, et l'espace de stockage et les informations de parité sont différents. Les cartes réseau ServeRAID d'IBM et les cartes IBM Fibre Channel offrent des options pour implémenter différents niveaux RAID, chacun avec sa configuration unique.

Un autre facteur critique en termes de performances est le nombre de disques durs dans la baie configurée : plus il y a de disques, meilleur est le débit. Comprendre comment RAID gère les requêtes d'E/S joue un rôle essentiel dans l'optimisation des performances.

De nouvelles technologies série, telles que SATA et SAS, sont désormais utilisées pour améliorer les performances et la fiabilité.

5. Réseau
La carte réseau est l'interface via laquelle le serveur communique avec le monde extérieur. Si les données peuvent atteindre des performances supérieures via cette interface, un sous-système réseau puissant peut avoir un impact significatif sur les performances globales du serveur.

La conception du réseau est tout aussi importante que la conception des serveurs. Les commutateurs attribuant différents segments de réseau ou l'application de technologies telles que l'ATM méritent d'être envisagés.

Les cartes réseau Gigabit sont désormais largement utilisées dans les serveurs pour fournir le haut débit nécessaire. Cependant, des technologies plus récentes telles que TCP Offload Engine (TOE) pour atteindre des débits 10G se profilent également à l'horizon.

6. Carte graphique
Le sous-système d'affichage des serveurs est relativement peu important car il n'est utilisé que lorsque les administrateurs doivent contrôler le serveur. Les clients n'utilisent jamais la carte graphique, les performances du serveur mettent donc rarement l'accent sur ce sous-système.

7. Système d'exploitation
Nous considérons le système d’exploitation comme un goulot d’étranglement potentiel, au même titre que les autres sous-systèmes du disque dur. Dans les systèmes d'exploitation tels que Windows, Linux, ESX Server et NetWare, certains paramètres peuvent être modifiés pour améliorer les performances du serveur.

Les sous-systèmes déterminant les performances dépendent de l'application du serveur. L'identification et l'élimination des goulots d'étranglement peuvent être obtenues grâce à la collecte et à l'analyse des données de performance. Toutefois, cette tâche ne peut pas être accomplie d'un coup, car les goulots d'étranglement peuvent varier en fonction des changements dans les charges de travail des serveurs, éventuellement sur une base quotidienne ou hebdomadaire.


Heure de publication : 20 juillet 2023