réflexion sur la notion du paramétrage pour l'optimisation

3 views
Skip to first unread message

Stéphane Gully

unread,
Jul 11, 2010, 2:47:54 PM7/11/10
to pk...@googlegroups.com, LECHAUDEL, Dominique
Tout d'abord, quelques retours d'expériences :
- Ça m'embête souvent de déployer pour le développement un serveur LAMP qui va occuper une quantité de mémoire importante sur le système alors que j'en ai pas besoin, je m'étale sur le serveur, ça gène les autres.
- En prod par contre, j'aimerai éviter de faire une surcharge personnalisée de pkgi car cela va me prendre du temps et je ne connais pas forcément par coeur toutes les variables pour optimiser apache et mysql, j'aimerai un modèle à suivre.

L'idée de fond serait de rajouter à pkgi des "configurations types" prêtes à l'emploi qui permettent d'augmenter ou de baisser les performances d'un serveur de façon très simple et très rapide.

Voila quelques idées d'implémentations :

- Soit rajouter des variables d'env générique à pkgi nommée PERFORMANCE ou OPTIMIZATION avec par exemple les valeurs possibles suivante :
  • mini : pour un site où les perf ne sont pas du tout importantes (pour la dev par exemple)
  • small : pour un petit site avec un trafique < 10 hits par secondes
  • big : pour un site avec un trafique < 100 hits par secondes
  • huge : pour un très gros site avec un trafique < 1000 hits par secondes
- Soit sous la forme de variables spécifiques par modules, par exemple :
  • APACHE_PERFORMANCE avec comme valeurs : 10hps ou 100hps ou 1000hps
  • MYSQL_PERFORMANCE avec comme valeurs : 32mo ou 512mo ou 1Go
- Soit sous la forme de modules pkgi spécifiques par exemple :
  • apache-10hps : pour une config capable d'absorber au max 10 hits par secondes
  • apache-100hps : pour une config capable d'absorber au max 100 hits par secondes
  • apache-1000hps : pour une config capable d'absorber au max 1000 hits par secondes
  • mysql-32mo : pour une config qui occupe au max 32Mo de mémoire vive
  • mysql-512mo : pour une config qui occupe au max 512Mo de mémoire vive
  • mysql-1Go : pour une config qui occupe au max 1Go de mémoire vive

Voila qu'en pensez vous ? idée farfelue ? une préférence pour l'implémentation ? une autre idée qui serait plus réaliste ?

Stéphane
ps : dominique je te met en copie car tu n'es pas dans la liste de discussion de pkgi et il me semble qu'on avait déjà discuter de ceci à une époque.

Stéphane Gully

unread,
Jul 28, 2010, 12:38:10 PM7/28/10
to pk...@googlegroups.com, LECHAUDEL, Dominique
Les premiers profils d'optimisation sont dans le trunk de pkgi (prochaine v2.28).
Comme convenu :
  • la variable APPNAME_OPTIMIZATION a été ajoutée.
  • ses valeurs possibles sont : normal, big ou huge
  • les profils peuvent être associées sélectivement à un ou plusieurs modules, exemple : apache-normal,mysql-big
Les 3 profils normal, big et huge sont disponibles dans le trunk pour le module apache pour son mode prefork et worker :

  • normal : supporte les sites ayant un maximum de 25 connexion simultanées.
  • big : supporte les sites ayant un maximum de 128 connexion simultanées.
  • huge : supporte les sites ayant un maximum de 1024 connexion simultanées.

Pour créer des profils, on pourra se baser sur le code permettant de parser le contenu de la variable APPNAME_OPTIMIZATION disponible dans le fichier suivant :

Les contributeurs sont les bienvenus.

Stéphane


2010/7/11 Stéphane Gully <stephan...@gmail.com>

Stéphane Gully

unread,
Jul 30, 2010, 3:49:33 PM7/30/10
to pk...@googlegroups.com, LECHAUDEL, Dominique
La version 2.28 est en ligne, elle intègre donc comme prévu les profils normal, big et huge pour le module apache.
Mais cerise sur la version, le profil spécifique upload-big-file est également disponible, il permet l'upload de fichiers jusqu'à 2Go (sans planter ! ça parait simple de le dire).

Stéphane


2010/7/28 Stéphane Gully <stephan...@gmail.com>
Reply all
Reply to author
Forward
0 new messages