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é :
cpu.shares permet d'allouer de façon proportionnelle les ressources à différents serveurs Web.
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.
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 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.