Project

General

Profile

Tâche #10501

Scénario #15825: Mettre à niveau la configuration de PHP sur EOLE 2.6

Rendre paramètrable les options d'optimisation comme MaxChlidren

Added by Philippe Caseiro over 6 years ago. Updated about 5 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
07/21/2016
Due date:
% Done:

100%

Estimated time:
6.00 h
Spent time:
Remaining (hours):
0.0

Description

Philippe Caseiro a écrit :

Les options qu'il serais bon de pouvoir configurer dans gen_config :

Timeout XXX
KeepAlive On/Off

<IfModule mpm_prefork_module>
StartServers X
ServerLimit XXX
MinSpareServers XX
MaxSpareServers XX
MaxClients XXX
#MaxRequestsPerChild 0
MaxRequestsPerChild XXX
</IfModule>

La configuration par défaut ne permet pas d'avoir un trafic important, si on souhaite utiliser Eole-Web pour des usages a plus grand volume il faut pouvoir changer ces valeurs sans patcher.

La première option (Timeout) est modifiable dans le template existant tmpl/apache2.conf alors que les autres concernent le fichier /etc/apache2/mods-available/mpm_prefork.conf qui n'est pas templatisé actuellement.


Related issues

Related to Documentations - Tâche #16798: Documenter les nouvelles variables Apache (2.6.0) Fermé 07/21/2016

Associated revisions

Revision 3e97f465 (diff)
Added by Joël Cuissinat about 5 years ago

Creolisation des paramètres Apache Timeout et KeepAlive

  • dicos/20_web.xml : ajout des variables apache_timeout et apache_keepalive + séparateur dédié
  • tmpl/apache2.conf : prise en compte des nouvelles variables

Ref: #10501 @1h

Revision 8b022c4b (diff)
Added by Joël Cuissinat about 5 years ago

Créolisation du fichier mpm_prefork.conf

  • dicos/20_web.xml : création de variables et déclaration du template
  • tmpl/mpm_prefork.conf : ajout du template

Ref: #10501 @2h

History

#1 Updated by Joël Cuissinat almost 6 years ago

  • Tracker changed from Bac à idée to Proposition Scénario
  • Description updated (diff)
  • Category set to Version majeure

#2 Updated by Scrum Master almost 6 years ago

  • Tracker changed from Proposition Scénario to Scénario
  • Start date deleted (02/05/2015)
  • Release set to EOLE 2.6.0
  • Story points set to 3.0

#3 Updated by Joël Cuissinat about 5 years ago

  • Estimated time set to 6.00 h
  • Parent task set to #15825

#4 Updated by Joël Cuissinat about 5 years ago

  • Status changed from Nouveau to En cours
  • Assigned To set to Joël Cuissinat
  • Start date set to 07/21/2016
  • Remaining (hours) set to 4.0

Valeurs par défaut sur 16.04 :

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#5 Updated by Joël Cuissinat about 5 years ago

  • % Done changed from 0 to 40

#6 Updated by Joël Cuissinat about 5 years ago

Valeurs par défaut sur 16.04 :

    StartServers             5
    MinSpareServers       5
    MaxSpareServers      10
    MaxRequestWorkers     150
    MaxConnectionsPerChild   0

=> vérifier les paramètres absents :
  • ServerLimit
    Avec le MPM prefork, cette directive définit le nombre maximum que l'on peut affecter à la directive MaxRequestWorkers, et ceci pour la durée de vie du processus Apache httpd.
    
  • MaxClients :
    Le nom de la directive MaxRequestWorkers était MaxClients avant la version 2.3.13. Cet ancien nom est encore supporté.
    
  • MaxRequestsPerChild
    MaxConnectionsPerChild : Disponible depuis la version 2.3.9 du serveur HTTP Apache. L'ancien nom MaxRequestsPerChild est encore supporté.
    

https://httpd.apache.org/docs/2.4/fr/mod/prefork.html

#7 Updated by Joël Cuissinat about 5 years ago

  • % Done changed from 40 to 100
  • Remaining (hours) changed from 4.0 to 0.5

#8 Updated by Joël Cuissinat about 5 years ago

  • Status changed from En cours to Résolu

#9 Updated by Emmanuel GARETTE about 5 years ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) changed from 0.5 to 0.0

OK :

root@scribe:~# a2enmod info
Enabling module info.
To activate the new configuration, you need to run:
  service apache2 restart
root@scribe:~# service apache2 restart
root@scribe:~# w3m -dump http://$(CreoleGet adresse_ip_eth0)/server-info|grep StartServers
[..]
       9: StartServers 5
root@scribe:~# w3m -dump http://$(CreoleGet adresse_ip_eth0)/server-info|grep MinSpareServers
[..]
      10: MinSpareServers 5
root@scribe:~# w3m -dump http://$(CreoleGet adresse_ip_eth0)/server-info|grep MaxSpareServers
[..]
      11: MaxSpareServers 10
root@scribe:~# w3m -dump http://$(CreoleGet adresse_ip_eth0)/server-info|grep MaxRequestWorkers
[..]
      12: MaxRequestWorkers 150
root@scribe:~# w3m -dump http://$(CreoleGet adresse_ip_eth0)/server-info|grep MaxConnectionsPerChild
[..]
      13: MaxConnectionsPerChild 0
root@scribe:~# w3m -dump http://$(CreoleGet adresse_ip_eth0)/server-info|grep Timeout
[..]
      86: Timeout 300
[..]
root@scribe:~# w3m -dump http://$(CreoleGet adresse_ip_eth0)/server-info|grep KeepAlive
[..]
      92: KeepAlive On
[..]
root@scribe:~# CreoleSet mpm_maxconnectionsperchild 1
root@scribe:~# CreoleSet apache_keepalive Off
root@scribe:~# reconfigure
[..]
root@scribe:~# w3m -dump http://$(CreoleGet adresse_ip_eth0)/server-info|grep MaxConnectionsPerChild
[..]
      13: MaxConnectionsPerChild 1
root@scribe:~# w3m -dump http://$(CreoleGet adresse_ip_eth0)/server-info|grep KeepAlive
[..]
      92: KeepAlive Off

Also available in: Atom PDF