Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Fwd: Re: bulkspool_table et task_manager

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: David Verdin <adresse@cachée>
  • To: adresse@cachée
  • Subject: Re: [sympa-fr] Fwd: Re: bulkspool_table et task_manager
  • Date: Tue, 26 Nov 2013 14:12:58 +0100

Bonjour,

Merci de cette contribution, Johan !

Peut-être faudrait-il qu'on exécute la tâche plus souvent par défaut...

Le 15/11/12 21:07, Johan Glenac a écrit :
Bonjour,

Ci-dessous, un échange que j'ai pu avoir à ce sujet avec David Verdin.

Je complète un peu la réponse:

- Purge de la table bulkspool_table

Customisation des modèles de tâches.
Copie du répertoire /home/sympa/default/global_task_models et list_task_models vers /home/sympa/etc (permet de conserver la customisation en cas de MAJ de sympa).
Modification du fichier /home/sympa/etc/global_task_models/purge_tables.daily.task

***************************************************************************
title.gettext delete all 10 minutes unusefull item from any table bulkspool

/ACTION
purge_tables ()
next ([execution_date]+600sec, ACTION)
***************************************************************************

Reload des process Sympa

Toutes les 10 minutes la table bulkspool_table est purgé visiblement sans effet sur la charge du serveur et le fonctionnement de sympa.
Cela libère de l'espace dans la table mais ne règle pas le pb d'espace disque utilisé dans /var/lib/mysql/sympa.

- Tache planifier de récupération d'espace disque par optimisation de la table (script bash)

#!/bin/bash

path=/var/lib/mysql/sympa
check_pid=`ls /var/run/mysqld`
user=toto
password=xxxxxxxxxx
bdd=sympa
command_sql="optimize table bulkspool_table"
rapport=/tmp/rapport.txt
taille_bulkspool_table=`du -s $path/bulkspool_table.MYD | cut -f1`
taille_max=2500000

if [ -n "$check_pid" ]
        then
                if [ "$taille_bulkspool_table" -gt $taille_max ]
                        then
                                /bin/echo -e "Taille du fichier $path/bulkspool_table.MYD > à $taille_max Mo \n" > $rapport
                                /bin/echo -e "Optimisation de la table necessaire\n\n" >> $rapport
                                /usr/bin/mysql -u"$user" -p"$password" "$bdd" -e "$command_sql" >> $rapport
                                OK=`/bin/grep -i "OK" $rapport`
                                if [ -n "$OK" ]
                                        then
                                                echo -e "\nOPTIMISATION OK" >> $rapport
                                        else
                                                echo -e "\nOPTIMISATION EN ERREUR" >> $rapport
                                fi
                                mutt -s "Rapport nettoyage bulkspool_table SYMPA" -a /tmp/rapport_bulkspool_table.txt adresse@cachée < $rapport
                        else
                                #echo "Taille du fichier $path/bulkspool_table.MYD < à $taille_max Mo"
                                exit 0
                fi
        else
                #echo "Traitement impossible pas de deamon Mysqld (fichier pid absent)"
                exit 0
fi

En espérant que cela puisse vous aider.

Cordialement.

Johan GLENAC
DSI
Administrateur Système, Réseaux et Télécom
TROUBIRAN : Route de Baduel - BP 6011 97306 Cayenne
Tél. : +594 (0) 594 27 22 08
Fax : +594 (0) 594 27 22 20
Rectorat - Académie de la Guyane
www.ac-guyane.fr


-------- Message original -------- Sujet: Re: [sympa-fr] bulkspool_table et task_manager Date : Tue, 06 Dec 2011 14:31:25 +0100 De : David Verdin <adresse@cachée> Répondre à : adresse@cachée, David Verdin <adresse@cachée> Pour : adresse@cachée

Bonjour,

Ça me semble être la bonne approche. L'usage de la base de données pour la gestion des spools fait que les tables concernées ont un gros turn over d'enregistrements. Donc on perd de la place dans les SGBD qui ne font pas tout seul d'optimisation régulières.
C'est délicat d'intégrer ce genre de ménage propre à chaque SGBD dans les tâches de Sympa du fait de la spécificité de ces SGBD pour les tâches d'administration. Ton approche avec le cron me semble donc être la meilleure solution. Peut-être pourrais-tu montrer le script que tu lances pour effectuer la commande mysql comme base d'inspiration ?

Merci de tes retours !

David

Le 02/12/11 14:53, Johan Glenac a écrit :
Bonjour,

Après avoir cherché un peu, j'ai procédé de la façon suivante pour répondre à ma problématique:

- Le process task_manager s'appuie sur des modèles. Je les ai donc dupliqué (Copie du répertoire /home/sympa/default/global_task_models et list_task_models vers /home/sympa/etc) et customizé le fichier purge_tables.daily.task pour augmenter la fréquence de nettoyage de la table bulkspool_table. 
Néanmoins, l'espace disque physique ne diminue pas pour autant malgré que la table soit vidée régulièrement.

-  Pour récupérer l'espace disque utilisé par la table bulkspool_table sur mon système de fichier, j'ai mis en place un cron qui exécute régulièrement l'optimisation de la table (commande mysql optimize table).

Il n'y a "visiblement" pas d'effet de bord négatif sur le fonctionnement du serveur sympa. Et plus de gigas à perte et de débordement pour la bdd sympa.

Tous commentaires sur ces pratiques sont les bienvenus.

Johan GLENAC
DSI
Administrateur Système, Réseaux et Télécom
TROUBIRAN : Route de Baduel - BP 6011 97306 Cayenne
Tél. : +594 (0) 594 27 22 08
Fax : +594 (0) 594 27 22 20
Rectorat - Académie de la Guyane
www.ac-guyane.fr

Le 29/11/2011 16:38, Johan Glenac a écrit : Bonjour la liste,

Je travail depuis quelques mois sur sympa 6.1.4 et j'ai plusieurs questions qui trouveront sans doute réponses sur la liste (corrigez-moi si je me trompe):

- Comme je l'avais observé la table bulkspool_table a tendance à "sévèrement" faire gonfler la BDD Mysql sympa en fonction du nombre d'envoi et du poids (pièce jointe) des messages à distribuer. Cette table bulkspool_table  étant nettoyée par une tâche quotidienne gérée par task_manager, j'aurais voulu savoir s'il était possible d'augmenter la fréquence d'exécution de cette tâche de nettoyage (pour éviter par exemple la saturation d'un file system dédié à Mysql). Si oui, comment s'y prendre et y-a-t-il également un impact sur les performances du serveur?

Sinon quel espace de stockage prévoir pour la BDD lorsque l'on sait que la plus grosse des listes (10000 abonnées) pourrait recevoir Xfois un message de quelques Méga dans la même journée. Comment avez vous gérer cette problématique?

- Ma BDD sympa étant de type MyISAM, la table bulkspool_table ayant gonflé (de plusieurs Giga) n'est plus optimisée lorsque les enregistrements sont effacés par la tâche quotidienne. Est-il possible de planifier une optimisation de cette table avec le task_manager? Si oui, comment? Quel peut-être les effets de bords et/ou les gains en performance?

Merci d'avance pour vos réponse.

--
Johan GLENAC
DSI
Administrateur Système, Réseaux et Télécom
TROUBIRAN : Route de Baduel - BP 6011 97306 Cayenne
Tél. : +594 (0) 594 27 22 08
Fax : +594 (0) 594 27 22 20
Rectorat - Académie de la Guyane
www.ac-guyane.fr




--
A bug in Sympa? Quick! To the bug tracker!

 
David Verdin
Études et projets applicatifs
 

Tél : +33 2 23 23 69 71
Fax : +33 2 23 23 71 21
 

www.renater.fr
RENATER
263 Avenue du Gal Leclerc
35042 Rennes Cedex



Attachment: pngjHwcyqCqCx.png
Description: PNG image

Attachment: png9PaqSthj5g.png
Description: PNG image

Attachment: pngrkgKCVZYbD.png
Description: PNG image

PNG image

Attachment: smime.p7s
Description: Signature cryptographique S/MIME



  • Re: [sympa-fr] Fwd: Re: bulkspool_table et task_manager, David Verdin, 26/11/2013

Archives gérées par MHonArc 2.6.19+.

Haut de le page