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
|
|