Guide d'administration du système Solaris Resource Manager 1.3

Gestion des ressources de plusieurs serveurs Web virtuels

Souvent, un seul ordinateur est utilisé pour héberger plusieurs serveurs Web virtuels de manière regroupée. Dans une telle circonstance, plusieurs instances du processus du serveur Web httpd sont présentes et un profit accru peut être tiré du contrôle des ressources par l'entremise de Solaris Resource Manager.

Chaque serveur Web peut être exécuté à titre d'UID UNIX différent en définissant un paramètre dans le fichier de configuration du serveur Web. Cela permet de faire correspondre chaque serveur Web à un noeud limite différent dans la hiérarchie de Solaris Resource Manager.

Par exemple, le Sun WebServerTM comporte les paramètres suivants dans le fichier de configuration /etc/http/httpd.conf :


# Server parameters
 server  {
   server_root                   "/var/http/"
   server_user                   "webserver1"
   mime_file                     "/etc/http/mime.types"
   mime_default_type             text/nlain
   acl_enable                    "yes"
   acl_file                      "/etc/http/access.acl"
   acl_delegate_depth            3
   cache_enable                  "yes"
   cache_small_file_cache_size   8                       # megabytes
   cache_large_file_cache_size   256                     # megabytes
   cache_max_file_size           1                       # megabytes
   cache_verification_time       10                      # seconds
   comment                       "Sun WebServer Default Configuration"

   # The following are the server wide aliases

   map   /cgi-bin/               /var/http/cgi-bin/              cgi
   map   /sws-icons/             /var/http/demo/sws-icons/
   map   /admin/                 /usr/http/admin/

 # To enable viewing of server stats via command line,
 # uncomment the following line
   map   /sws-stats              dummy                           stats
 }

En configurant chaque serveur Web en vue d'une exécution selon un UID UNIX distinct, vous pouvez définir des limites différentes pour chaque serveur Web. Cet aspect s'avère particulièrement utile pour contrôler et comptabiliser la consommation des ressources sur un ordinateur qui héberge plusieurs serveurs Web.

Dans ce cas, vous pouvez vous servir de plusieurs contrôles et limites des ressources de Solaris Resource Manager ou de leur totalité :

Parts [cpu.shares]

cpu.shares permet d'allouer de façon proportionnelle les ressources à différents serveurs Web.

Quantité limite de mémoire [memory.limit]

memory.limit permet de limiter la quantité de mémoire virtuelle dont le serveur Web peut se servir. Cela évite qu'un serveur Web provoque la panne d'un autre serveur suite à une erreur d'allocation de mémoire.

Quantité limite de mémoire par processus [memory.plimit]

Limite de la mémoire par processus permet de limiter la quantité de mémoire virtuelle pouvant être utilisée par un processus cgi-bin. Ainsi, un processus cgi-bin ne pourra jamais faire tomber en panne son serveur Web respectif.

Nombre limite de processus [process.limit]

Nombre total maximal de processus autorisés à se relier à un serveur Web peut restreindre le nombre de processus cgi-bin qui s'exécutent simultanément.