Projet

Général

Profil

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

Ajouté par Philippe Caseiro il y a environ 9 ans. Mis à jour il y a plus de 7 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
21/07/2016
Echéance:
% réalisé:

100%

Temps estimé:
6.00 h
Temps passé:
Restant à faire (heures):
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.


Demandes liées

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

Révisions associées

Révision 3e97f465 (diff)
Ajouté par Joël Cuissinat il y a plus de 7 ans

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

Révision 8b022c4b (diff)
Ajouté par Joël Cuissinat il y a plus de 7 ans

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

Historique

#1 Mis à jour par Joël Cuissinat il y a plus de 8 ans

  • Tracker changé de Bac à idée à Proposition Scénario
  • Description mis à jour (diff)
  • Catégorie mis à Version majeure

#2 Mis à jour par Scrum Master il y a plus de 8 ans

  • Tracker changé de Proposition Scénario à Scénario
  • Début 05/02/2015 supprimé
  • Release mis à EOLE 2.6.0
  • Points de scénarios mis à 3.0

#3 Mis à jour par Joël Cuissinat il y a plus de 7 ans

  • Temps estimé mis à 6.00 h
  • Tâche parente mis à #15825

#4 Mis à jour par Joël Cuissinat il y a plus de 7 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Joël Cuissinat
  • Début mis à 21/07/2016
  • Restant à faire (heures) mis à 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 Mis à jour par Joël Cuissinat il y a plus de 7 ans

  • % réalisé changé de 0 à 40

#6 Mis à jour par Joël Cuissinat il y a plus de 7 ans

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 Mis à jour par Joël Cuissinat il y a plus de 7 ans

  • % réalisé changé de 40 à 100
  • Restant à faire (heures) changé de 4.0 à 0.5

#8 Mis à jour par Joël Cuissinat il y a plus de 7 ans

  • Statut changé de En cours à Résolu

#9 Mis à jour par Emmanuel GARETTE il y a plus de 7 ans

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) changé de 0.5 à 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

Formats disponibles : Atom PDF