Skip to Content.
Sympa Menu

fr - Re: [sympa-fr] le problème de performance sur l'interface Sympa ...

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

List archive

Chronological Thread  
  • From: Benoît Marchal <address@concealed>
  • To: address@concealed, David Verdin <address@concealed>
  • Cc: Ozcan SAHIN <address@concealed>
  • Subject: Re: [sympa-fr] le problème de performance sur l'interface Sympa ...
  • Date: Tue, 17 Dec 2013 09:55:00 +0100 (CET)

Bonjour,

Je viens d'appliquer ce patch, mais j'ai toujours des délais importants pour l'affichage (plus de 15 secondes) de la liste des listes, alors que je ne vois pas de recherche des propriétaires dans les logs. On utilise majoritairement des listes de propriétaires, plutôt qu'une énumération de ceux-ci.Il est vrai que sur ce robot, nous avons plus de 2700 listes.

Je n'arrive pas à savoir si c'est normal, au vu du nombre de listes ou bien alors que le problème pourrait venir d'ailleurs.

Est ce que quelqu'un aurait une idée de piste de recherche ?

Cdlt


Salut Özcan,

Voui, alors là je pense que tu as téléchargé la page web dans laquelle le fichier est affiché. C'est pour ça. forcément, une déclaration de DTD ça n'est pas du perl valable, donc ça ne marchera jamais avec ça.

La bonne solution, c'est celle qu'Étienne a suggérée : appliquer le patch.

Pour ça, tu vas là : https://sourcesup.renater.fr/scm/viewvc.php/branches/sympa-6.1-branch/src/lib/List.pm?r1=9948&r2=9947&pathrev=9948&root=sympa&view=patch

Tu copies le contenu de la page dans un fichier /tmp/patch-owner_ttl.patch

Ensuite, tu appliques le patch comme cela :

cd /home/sympa/bin
cp -p List.pm List.pm.bak
patch -p0 < /tmp/
patch-owner_ttl.patch

Et là tu devrais avoir le bon List.pm.

Pour le vérifier, tu n'as qu'à faire un diff :

diff List.pm List.pm.bak

Ça devrait te donner une sortie de ce type :

@@ -1600,9 +1600,14 @@
     }
 
     ## Config file was loaded or reloaded
-    if (($status == 1 && ! $options->{'skip_sync_admin'}) ||
-    $options->{'force_sync_admin'}) {
-
+    my $pertinent_ttl = $list->{'admin'}{'distribution_ttl'}||$list->{'admin'}{'ttl'};
+    if (
+    $status == 1
+    && (! $options->{'skip_sync_admin'}
+    || ($options->{'optional_sync_admin'} && $list->{'last_sync'} < time - $pertinent_ttl)
+    || $options->{'force_sync_admin'})
+    )
+    {
     ## Update admin_table
     unless (defined $list->sync_include_admin()) {
         &do_log('err','List::new() : sync_include_admin_failed') unless ($options->{'just_try'});
@@ -10044,7 +10049,7 @@
 
         foreach my $l (@files) {
         next if (($l =~ /^\./o) || (! -d "$robot_dir/$l") || (! -f "$robot_dir/$l/config"));
-        
+        $options->{'optional_sync_admin'} = 1;
         my $list = new List ($l, $robot, $options);
         
         next unless (defined $list);

Si tu n'as pas ça, ça ne marchera pas.

Tiens-moi au courant,

David

Le 28/10/13 10:13, Ozcan SAHIN a écrit :

Bonjour David,

 

Je vous remercie pour le patch, ça devient de plus en plus une situation difficile car le nombre de liste régulièrement augmente.

Mais j’ai une difficulté d’appliquer ce patch, comment on peut faire ?

 

Je l’ai utilisé au lieu de /home/sympa/bin/List.pm mais Sympa ne démarre pas à cause d‘erreur ci-dessous:

 

# service sympa start

Starting Sympa subsystem:

Starting module sympa.pl: String found where operator expected at /home/sympa/bin/List.pm line 2, near "SYSTEM "http://evolvis.org/DTD/xhtml10t-rdfa10.dtd""

        (Do you need to predeclare SYSTEM?)

Excessively long <> operator at /home/sympa/bin/List.pm line 3.

Compilation failed in require at /home/sympa/bin/Conf.pm line 31.

BEGIN failed--compilation aborted at /home/sympa/bin/Conf.pm line 31.

Compilation failed in require at /home/sympa/bin/Commands.pm line 33.

BEGIN failed--compilation aborted at /home/sympa/bin/Commands.pm line 33.

Compilation failed in require at /home/sympa/bin/sympa.pl line 33.

BEGIN failed--compilation aborted at /home/sympa/bin/sympa.pl line 33.

                                                           [FAILED]

Starting module bulk.pl: String found where operator expected at /home/sympa/bin/List.pm line 2, near "SYSTEM "http://evolvis.org/DTD/xhtml10t-rdfa10.dtd""

        (Do you need to predeclare SYSTEM?)

Excessively long <> operator at /home/sympa/bin/List.pm line 3.

Compilation failed in require at /home/sympa/bin/Conf.pm line 31.

BEGIN failed--compilation aborted at /home/sympa/bin/Conf.pm line 31.

Compilation failed in require at /home/sympa/bin/bulk.pl line 44.

BEGIN failed--compilation aborted at /home/sympa/bin/bulk.pl line 44.

                                                           [FAILED]

Starting module archived.pl: String found where operator expected at /home/sympa/bin/List.pm line 2, near "SYSTEM "http://evolvis.org/DTD/xhtml10t-rdfa10.dtd""

        (Do you need to predeclare SYSTEM?)

Excessively long <> operator at /home/sympa/bin/List.pm line 3.

Compilation failed in require at /home/sympa/bin/archived.pl line 42.

BEGIN failed--compilation aborted at /home/sympa/bin/archived.pl line 42.

                                                           [FAILED]

Starting module bounced.pl: String found where operator expected at /home/sympa/bin/List.pm line 2, near "SYSTEM "http://evolvis.org/DTD/xhtml10t-rdfa10.dtd""

        (Do you need to predeclare SYSTEM?)

Excessively long <> operator at /home/sympa/bin/List.pm line 3.

Compilation failed in require at /home/sympa/bin/bounced.pl line 41.

BEGIN failed--compilation aborted at /home/sympa/bin/bounced.pl line 41.

                                                           [FAILED]

Starting module task_manager.pl: String found where operator expected at /home/sympa/bin/List.pm line 2, near "SYSTEM "http://evolvis.org/DTD/xhtml10t-rdfa10.dtd""

        (Do you need to predeclare SYSTEM?)

Excessively long <> operator at /home/sympa/bin/List.pm line 3.

Compilation failed in require at /home/sympa/bin/Task.pm line 29.

BEGIN failed--compilation aborted at /home/sympa/bin/Task.pm line 29.

Compilation failed in require at /home/sympa/bin/task_manager.pl line 30.

BEGIN failed--compilation aborted at /home/sympa/bin/task_manager.pl line 30.

                                                           [FAILED]

 

Cordialement

 

Özcan SAHIN

Administrateur Systèmes

Pôle Système  - DSI - Université Lumière Lyon 2

04 78 77 26 66

 

De : address@concealed [mailto:address@concealed] De la part de David Verdin
Envoyé : vendredi 25 octobre 2013 16:39
À : address@concealed
Objet : Re: [sympa-fr] le problème de performance sur l'interface Sympa ...

 

Bonjour,

Cela vient de la fonction List::new(). Vous allez me dire que ça vous fait une belle jambe et vous n'auriez pas tort. Après tout, vous n'êtes pas - tous - développeurs.

Cela dit, c'est une information importante parce que cette fonction est appelée à chaque fois qu'on utilise une liste. Quand on l'appelle, on synchronise la liste des admins. il y avait des paramètres pour interdire ou forcer la synchronisation des admins de la liste, mais pas pour la moduler en fonction des paramètres ttl. C'était tout ou rien, quoi.

C'est maintenant résolu : quand on appelle List::new() dans un contexte où on peut potentiellement avoir affaire à de nombreuses listes (liste des liste et recherche de listes) on tient compte des ttl.
Voilà la révision qui - sur ma 6.1.17 - résout le problème :
https://sourcesup.renater.fr/scm/viewvc.php?view=revision&root=sympa&revision=9948

Tout ceci fera bien sûr partie d'une future version 6.1.18 mais vous pouvez déjà utiliser le patch en attendant.

Bon week-end,

David

P.S. : Pour les abonnés à sympa-commits qui se demandent pourquoi les développeurs ne font plus rien depuis un mois, sachez qu'il n'en est rien. Au contraire, je compte une centaine de commits depuis le mois dernier. Simplement notre hook de post-commit SVN est cassé et il n'envoie plus de messages. On vient de s'en apercevoir et on va corriger ça.

Le 23/10/13 14:15, Ozcan SAHIN a écrit :

Bonjour,

 

Cela dit, le problème semble résider dans le timeout. c'est ça Özcan ? Les proprio sont synchronisés à chaque fois, même si tu dis de ne mettre à jour les listes que toutes les 24 heures ?


Les membrés sont synchronisés une fois par jour, dans ce cas-là, il y a pas de problème.

Cependant, les propriétaires et les modérateurs sont interrogés dans chaque clique de « Liste des listes« (et la partie « recherche«) sur l’interface .

 

PS : Je vois dans le log que Sympa interroge les proprio et les mod.  chaque fois.

 

Cordialement

 

Özcan SAHIN

Administrateur Systèmes

Pôle Système  - DSI - Université Lumière Lyon 2

04 78 77 26 66

 

De : address@concealed [mailto:address@concealed] De la part de David Verdin
Envoyé : mercredi 23 octobre 2013 14:01
À : address@concealed
Cc : 'Patrick Proniewski'
Objet : Re: [sympa-fr] le problème de performance sur l'interface Sympa ...

 

Bonjour,

Le 23/10/13 13:45, Luc Veillon a écrit :

Bonjour,

Le ministère de l'éducation nationale doit lancer un développement en ce sens, dans les mois qui viennent (normalement, la commande est planifiée pour la fin d'année).
Le dev sera reversé à la communauté.
Je ne sais pas si vous pourrez patienter jusque là (juin 2014 pour une livraison en prod) ?

Ça semble un délai raisonnable.

Cela dit, le problème semble résider dans le timeout. c'est ça Özcan ? Les proprio sont synchronisés à chaque fois, même si tu dis de ne mettre à jour les listes que toutes les 24 heures ?



Cordialement

Le 23/10/2013 13:29, Ozcan SAHIN a écrit :

Bonjour,

 

Y-a-t-il quelqu’un qui utilise une source de données externe pour des propriétaires et/ou des modérateurs ?

 

Cordialement

 

Özcan SAHIN

Administrateur Systèmes

Pôle Système  - DSI - Université Lumière Lyon 2

04 78 77 26 66

 

De : address@concealed [mailto:address@concealed] De la part de Ozcan SAHIN
Envoyé : mardi 8 octobre 2013 09:00
À : address@concealed; 'Ozcan SAHIN'; 'David Verdin'
Cc : Safia Gharbi; 'Patrick Proniewski'
Objet : RE: [sympa-fr] le problème de performance sur l'interface Sympa ...
Importance : Haute

 

Bonjour,

 

Nous utilisons une source de données externe pour alimenter des membres et des propriétaires.

Nous n'avons aucune problème dans l'alimentation des membres car SYMPA se fait une fois par jour et il les garde dans la base locale Mysql.

Quand on se connecte sur l'interface SYMPA, il nous montre des membres sans interroger Oracle ni LDAP.

 

Est-ce-que c'est possible de faire le même chose pour les propriétaires des listes ?

(en cas d'accès à la liste, il devrait nous montrer les propriétaires depuis la base locale et s’alimenter une fois par jour depuis la source de données externe)

 

 

Cordialement

 

Özcan SAHIN

DSI - Pôle Système

Université Lumière Lyon 2

04 78 77 26 66

 

De : address@concealed [mailto:address@concealed] De la part de Ozcan SAHIN
Envoyé : jeudi 26 septembre 2013 10:48
À : address@concealed; 'Ozcan SAHIN'; 'David Verdin'
Objet : RE: [sympa-fr] le problème de performance sur l'interface Sympa ...

 

Bonjour,

 

Je corrige une faute :

 

J’ai réglé le paramètre « visibility conceal » pour une liste mais encore ils sont interrogé depuis Oracle.           

 

 

Cordialement

 

Özcan SAHIN

DSI - Pôle Système

Université Lumière Lyon 2

04 78 77 26 66

 

De : address@concealed [mailto:address@concealed] De la part de Ozcan SAHIN
Envoyé : mercredi 25 septembre 2013 14:15
À : address@concealed; 'David Verdin'
Objet : RE: [sympa-fr] le problème de performance sur l'interface Sympa ...
Importance : Haute

 

Bonjour,

 

Quand j’ai surveillé log de Sympa en mode debug, j’ai remarqué que seulement, les propriétaires et les modérateurs sont synchronisés.

(quand on recherche une liste ou clique « «liste des listes » sur l’interface Sympa )

 

J’ai réglé le paramètre « visibility noconceal » pour une liste mais encore ils sont interrogé depuis Oracle.        

 

En fait, tous les paramètres de synchronisation sont pour l’alimentation de membres. (distribution_ttl est dans sympa.conf + ttl est dans le fichier config de listes )

Est-ce-qu’ il y a un paramètre « ttl«  pour définir l’alimentation de propriétaire et de modérateur une fois par jour ?

 

PS :

La tâche planifié de Sympa pour la sync. des membres nous montre qu’ils sont mise à jour après un jour.

title.gettext Update of list members based on the TTL

/INIT                                                    

sync_include ()      

next(execution_date+86400sec,INIT)

 

Cordialement

 

Özcan SAHIN

DSI - Pôle Système

Université Lumière Lyon 2

04 78 77 26 66

 

De : address@concealed [mailto:address@concealed] De la part de David Verdin
Envoyé : lundi 16 septembre 2013 15:56
À : address@concealed
Objet : Re: [sympa-fr] le problème de performance sur l'interface Sympa ...

 

Bonjour,

Le 09/09/13 10:31, address@concealed a écrit :

Bonjour,
 
Nous avons un problème particulier sur la performance.
 
J'ai remarqué que quand on clique l'onglet "Liste des Listes", Sympa traite
chaque liste pour faire la mise à jour et récuperer les abonnées et les
propriétaires depuis LDAP et ORACLE.
 
ça prend du temps car il y en a plusieur et les clients attendent pendant
cette opération.
 
Est-ce-qu'il y a une solution pour la contourner ?

Pas pour le moment.
Le paramètre visibility qui permet d'afficher / masquer les listes vérifie souvent si les personnes sont ou non propriétaires de la liste.
Du coup, ça impose une requête. Il y a un délai réfractaire, bien sûr, pendant lequel Sympa ne synchronise plus (il est fixé par le paramètre de liste 'distribution_ttl'). Mais ce paramètre fixe également le délai entre deux synchro à la volée des abonnés. S'il est super long, tu n'auras plus que les synchro régulière (définies par la tâche sync_include).

Voili voilou.

Bonne journée,

David

 
 
PS : Nous utilisons SYMPA version 6.1.17.
 
Cordialement
 
 

 

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

RENATER logo
 

David Verdin
Infrastructure pour les Services Informatiques
 

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

 




-- 
Luc VEILLON
Pôle IH2M Equipe "Hub - Hébergement - Messagerie"
DSI - Rectorat d'Orléans-Tours
10 Rue Molière
45 000 Orléans
Tél: 02 38 79 45 20/ 02 38 79 45 51
Fax: 02 38 79 45 29
Mel : address@concealed
 

 

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

RENATER logo
 

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

 

 

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

RENATER logo
 

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

 


--
A bug in Sympa? Quick! To the bug tracker!
RENATER logo
 
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






--
Benoît MARCHAL
Sous direction Infrastructure
Direction du Numérique
Université de Lorraine
Tél : 03.83.68.20.66
mél : address@concealed



  • Re: [sympa-fr] le problème de performance sur l'interface Sympa ..., Benoît Marchal, 12/17/2013

Archive powered by MHonArc 2.6.19+.

Top of Page