Chapitre 4. Solutions et Dimensionnement

Table des matières
4.1. Linux comme serveur de fichiers et d'impression
4.1.1. Linux comme serveur de fichiers
4.1.2. Linux comme serveur d'impression
4.2. Linux comme serveur Internet/Intranet
4.2.1. Serveur Web
4.2.2. Serveur de courrier électronique
4.2.3. Serveur Pare-Feu / Mandataire / Cache Web
4.2.4. Serveur Annuaire
4.3. Linux comme serveur de calcul
4.4. Linux comme serveur bureautique

Ce chapitre propose une aide au dimensionnement des NetServers Linux suivant différents types d'utilisation.

Il faut d'abord considérer que cet exercice est toujours périlleux. En effet, seule la réalité permet de mettre à l'épreuve de telles prévisions. Néanmoins, avec l'expérience des solutions déployées par le passé, on peut arriver à donner quelques règles utiles.

On peut appliquer un certain nombre de règles en vigueur pour le dimensionnement de serveurs Unix classiques, en considérant que les systèmes CISC (majoritaires en environnement Linux) consomment environ 2,5 fois moins de ressources en mémoire que les systèmes RISC, étant donné que les binaires manipulés sont plus petits (les plates-formes Intel étant pour le moment des architectures 32 bits). Ceci influence aussi l'occupation disque, et la taille de la mémoire de pagination.

Il est évident qu'il faut, quel que soit le système, considérer les goulets d'étranglement de la solution mise en place, car ils détermineront le maillon le plus faible.

On prêtera une attention particulière aux points suivants :

On se méfiera également du caractère extensible des machines. En effet, il est souvent préférable pour un client, de rajouter un serveur, plutôt que d'augmenter les capacités de celui en place. La raison en est d'ordre financier d'une part, le coût des ajouts se révélant, sur un système déjà ancien, proches de ceux d'un nouveau système dont les prix baissent continuellement. Même chose pour la maintenance. D'autre part, techniquement, il peut être plus intéressant de bénéficier des dernières technologies pour obtenir une machine plus équilibrée et plus performante, et de réutiliser l'ancien serveur pour des tâches secondaires (DNS secondaire, ...) ou de répartir des processus de l'autre serveur. Par exemple, lors de l'introduction de l'Ultra2 LVD, il était plus intéressant de racheter un serveur pour bénéficier d'une vitesse de bus SCSI de 80 Mo/s, plutôt que de mettre à jour un serveur en Ultra Wide à 40 Mo/s. Ceci implique qu'il est intéressant de dimensionner correctement son serveur, dès le départ, pour toute la durée prévisible de son utilisation (typiquement 3 ans aujourd'hui).

Dans le même ordre d'idées, on examinera soigneusement le fait de conseiller une machine multi-processeur au lieu de deux machines mono-processeurs. 2 systèmes différents impliquent 2 contrôleurs disques, 2 séries de disques, 2 bus mémoires séparés, donc une meilleure performance mais une administration plus importante. En revanche, un seul système facilite cette tâche, permet une communication rapide entre processeurs, ce qui peut être nécessaire pour certaines applications, mais rend l'environnement plus fragile (potentiellement plus d'indisponibilité en cas de panne du système). D'autre part, il y a plus de pertes, intrinsèquement, sur un modèle multi-processeur, en communications au niveau système. Cette question sera notamment à envisager dans le cas de l'ajout d'un processeur (obsolète par nature) sur une machine a posteriori, au lieu de l'ajout d'un serveur complet.

Sur les aspects mémoire, Linux peut gérer aujourd'hui jusqu'à 64 Go dans les noyaux stables. Linux tire parti de toute la mémoire qui lui est donnée, notamment dans la constitution d'un cache disque qui améliore considérablement les performances du système. On peut donc surdimensionner la quantité de mémoire installée, car ceci est préférable à une situation où le serveur serait obligé de paginer (ce qui pénalise énormément les performances). La taille minimale fournie sur les NetServers (128 Mo ou 256 Mo) correspond parfaitement à une utilisation normale d'un système et ne nécessite pas d'ajout particulier. Il faut tenir compte du fait qu'on n'utilise aucun environnement graphique sur les serveurs de production. Pour ce qui est de la mémoire de pagination (swap), sous Linux, elle vient en addition de la mémoire réelle pour donner la mémoire virtuelle totale dont dispose le serveur. Comme règle de base, il est conseillé de doter la machine d'autant de mémoire de pagination que de mémoire réelle, pour permettre au système de placer sur disque la quasi-totalité des processus en cours en cas de besoin. En revanche la règle qui prévaut sur les Unix d'origine Système V (tel HP-UX), de réserver deux fois la taille de la mémoire pour le swap n'est pas utile sous Linux. Il est à noter que Linux peut être amené à paginer certains processus inactifs pour libérer le maximum de mémoire vive possible. Avoir un système dont une partie du swap est occupé n'est donc pas nécessairement une preuve de manque de mémoire, ni de perte de performances.

Vous trouverez ci-dessous des recommandations suivant le type d'utilisation faite du NetServer HP sous Linux. Il est possible de cumuler plusieurs fonctions sur un même serveur. On prendra soin dans ce cas d'additionner au moins les ressources nécessaires pour remplir les services.

Quelques règles génériques sont à considérer :

On pourra aussi se reporter aux conseils d'optimisation des performances fournis par Adrian Likins

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:40