mpm_netware Module multi-processus implémentant un serveur web basé exclusivement sur les threads et optimisé pour Novell NetWare MPM mpm_netware.c mpm_netware_module

Ce module multi-processus (MPM) implémente un serveur web basé exclusivement sur les threads et optimisé pour Novell NetWare.

Le thread maître est chargé du lancement de threads esclaves qui attendent les connexions et les traitent au fur et à mesure de leur arrivée. Le serveur HTTP Apache essaie toujours de maintenir plusieurs threads esclaves en spare (en réserve) ou inactifs. De cette façon, les clients n'ont pas besoin d'attendre le lancement d'un nouveau thread enfant pour que leurs requêtes soient traitées.

Les directives StartThreads, MinSpareThreads, MaxSpareThreads, et MaxThreads contrôlent la manière dont le thread maître crée les threads esclaves afin de traiter les requêtes. En général, Apache httpd s'auto-régule correctement, et la plupart des sites ne nécessitent aucune modification des valeurs par défaut de ces directives. Pour les sites dont le serveur est limité en mémoire, il peut s'avérer nécessaire de diminuer la valeur de la directive MaxThreads afin d'éviter une hyper-activité du serveur (arrêts de threads inactifs et lancement incessant de nouveau threads). Vous trouverez plus d'informations à propos du contrôle de la création de processus dans le document conseils en matière de performances.

La directive MaxRequestsPerChild contrôle la fréquence à laquelle le serveur recycle ses processus en arrêtant les anciens et en en lançant de nouveaux. Sous le système d'exploitation NetWare, il est vivement recommandé de laisser cette directive à 0, ce qui permet aux threads esclaves de continuer à traiter les requêtes indéfiniment.

Définition des adresses et ports qu'utilise Apache httpd Listen ListenBacklog MaxMemFree MaxRequestsPerChild ReceiveBufferSize SendBufferSize MaxSpareThreads MinSpareThreads StartThreads ThreadStackSize MaxThreads Définit le nombre maximum de threads esclaves MaxThreads nombre MaxThreads 2048 server config

La directive MaxThreads définit le nombre maximum de threads esclaves que l'on désire autoriser. La valeur par défaut correspondant à la valeur codée en dur à la compilation, la valeur de cette directive ne peut donc qu'être diminuée, comme dans l'exemple suivant :

MaxThreads 512