destruction des objects et connection
Réponses:
6
Visites:
0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum.
Inscrivez-vous maintenant
destruction des objects et connection
Posté par
airod
le
16/03/2009 09:12
Bonjour, voila le problème est trés simple.
j'ai des problèmes de performances avec mon serveur zope. La config : Serveur dédié en salle blanche sur debian 1 go de ran dédié zope 2.10.5 le problème se situe a deux niveaux. 1 - Zope ne libère pas la mémoire et donc fini par utiliser 100% de la memoire dispo et donc fini par swapper. la seul solution trouvé est de redémarrer le serveur. Mais ce n'est pas la solution au problème puisque je ne sais pas d'ou ca viens. A priori, il y aurait des fuite de mémoire, mais comment determiner d'ou ca peut venir? 2 - quand je regarde dans le controlPanel/Database management >> onglet cache parameters. je me rend compte que j'ai systématiquement des connections encore active (?) et des objet en cache alors que je suis sur d'etre le seul connecté. ex : Cache Name Number of active objects Total active and non-active objects <Connection at aaa31d6c> 142 313 <Connection at ad25b3ac> 298 663 <Connection at ad282dec> 175 453 <Connection at ad286e6c> 178 425 <Connection at ae08ee6c> 119 199 <Connection at ae5b6a8c> 303 667 Total 1215 Résultat j'ai des perte de performances importantes, et j'aimerai bien pouvoir résoudre le problème. Merci, d'avance pour vos suggestions et votre aide. Ps: j'ai essayé d'installé LeakFinder, mais il n'apparait pas dans mon control panel. Quelqu'un aurait il déjà utilisé ce produit? Merci |
-
Re: destruction des objects et connection
Posté par airod le 18/03/2009 11:04Ca y est j'ai trouvé.....
il faut bien vérifier que dans le zope.conf a la section Http-server, l'option "force-connection-close on" est bien activé sinon, zope ne détruit pas les objets connexion... -
Re: destruction des objects et connection
Posté par airod le 01/04/2009 09:03en fait non, j'ai pas trouvé!!! bouhhhh.
je ne comprend toujours pas comment zope gère son cache. Normalement, lorsqu'une connection est détruite zope devrait détruire le cache associé!? Mais comment puis je dire a zope que la connexion est a détruire afin de libérer le cache?
des idées?
merci -
Re: destruction des objects et connection
Posté par encolpe le 01/04/2009 09:27airod wrote:Bonjour, voila le problème est trés simple.
j'ai des problèmes de performances avec mon serveur zope.
La config :
Serveur dédié en salle blanche sur debian
1 go de ran dédié
zope 2.10.5
le problème se situe a deux niveaux.
1 - Zope ne libère pas la mémoire et donc fini par utiliser 100% de la memoire dispo et donc fini par swapper.
la seul solution trouvé est de redémarrer le serveur.
Mais ce n'est pas la solution au problème puisque je ne sais pas d'ou ca viens.
A priori, il y aurait des fuite de mémoire, mais comment determiner d'ou ca peut venir?
Pour tester les performances de Zope il faut utiliser ZopeProfiler et PTProfiler.
Ensuite, il n'y a pas de fuite de mémoire, mais plus probablement un problème de configuration.
Les paramètres qui peuvent jouer dans le fichier zope.conf :
- debug-mode on
- security-policy-implementation python
- verbose-security on
Ces trois paramètres sont très pratiques pour le développement mais très gourmands... donc à ne pas mettre en production.
Ensuite :
- zserver-threads 4
- maximum-number-of-session-objects 1000
Il est plutôt conseillé de multiplier les clients ZEO avec peu de threads plutôt que de multipplier les threads (la limite réelle est 7 mais 2 est conseillée).
Le cache par session est chargé en RAM, donc il faut limiter la taille entre 1000 et 5000 pour éviter de surcharger la RAM.airod wrote:
2 - quand je regarde dans le controlPanel/Database management >> onglet cache parameters. je me rend compte que j'ai systématiquement des connections encore active (?) et des objet en cache alors que je suis sur d'etre le seul connecté.
ex :
Cache Name Number of active objects Total active and non-active objects
<Connection at aaa31d6c> 142 313
<Connection at ad25b3ac> 298 663
<Connection at ad282dec> 175 453
<Connection at ad286e6c> 178 425
<Connection at ae08ee6c> 119 199
<Connection at ae5b6a8c> 303 667
Total 1215
Résultat j'ai des perte de performances importantes, et j'aimerai bien pouvoir résoudre le problème.
Merci, d'avance pour vos suggestions et votre aide.
C'est Apache qui doit garder la connexion active.
Sinon, il faudrait configurer CacheFu pour limiter la charge sur le serveur Zope et laisser Apache faire son travail._________________________
Encolpe DEGOUTE http://encolpe.degoute.free.fr/ Logiciels libres, hockey sur glace et autres activités cérébrales -
Re: destruction des objects et connection
Posté par airod le 01/04/2009 14:14merci pour cette réponse trés rapide. Mais j'ai un soucis pour faire fonctionner ZopeProfiler. En effet il est bien pris en charge par mon zope mais dés que je lance un service du zopeProfiler, mon serveur ne réagit plus. Si je le monitore directement au niveau system, l'instance de zope ne travaille même pas. est ce que vous pouvez m'aider un peu a ce sujet.
merci -
Re: destruction des objects et connection
Posté par encolpe le 01/04/2009 14:52Et que disent les logs ?
A force de de dire « ici ça ne marche pas » la seule réponse qui va revenir c'est « chez moi ça marche » ©_________________________
Encolpe DEGOUTE http://encolpe.degoute.free.fr/ Logiciels libres, hockey sur glace et autres activités cérébrales -
Re: destruction des objects et connection
Posté par airod le 02/04/2009 09:11bonjour, voici ce que me dise les logs (event.log et Z2.log)
EVENT.LOG :code:------
2009-04-02T08:45:06 INFO ZServer HTTP server started at Thu Apr 2 08:45:06 2009
Hostname: 0.0.0.0
Port: 8080
------
2009-04-02T08:45:06 INFO ZServer WebDAV server started at Thu Apr 2 08:45:06 2009
Hostname: 0.0.0.0
Port: 1980
------
2009-04-02T08:45:41 INFO PTProfiler Patching page templates...
------
2009-04-02T08:45:41 INFO PTProfiler patch Page Templates pt_render
------
2009-04-02T08:45:41 INFO PTProfiler Patching Z3 TALES engine...
------
2009-04-02T08:45:41 INFO PTProfiler patch TALES __call__ of expression python
------
2009-04-02T08:45:41 INFO PTProfiler patch TALES __call__ of expression path
------
2009-04-02T08:45:41 INFO PTProfiler patch TALES __call__ of expression string
------
2009-04-02T08:45:41 INFO PTProfiler Patched
------
2009-04-02T08:45:44 INFO Zope Ready to handle requests
et le Z2.LOG (juste les log qui correspondent au lancement de "Python Level" de ZopeProfiler:code:127.0.0.1 - zope[02/Apr/2009:09:05:36 +0200] "POST /VirtualHostBase/https/dev.perinat-gyneco.fr:443/VirtualHostRoot/Control_Panel/ZopeProfiler/showLow HTTP/1.1" 200 10831 "https://dev.perinat-gyneco.fr/Control_Panel/ZopeProfiler/showLow" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)"
127.0.0.1 - zope[02/Apr/2009:09:05:36 +0200] "GET /VirtualHostBase/https/dev.perinat-gyneco.fr:443/VirtualHostRoot/p_/sp HTTP/1.1" 200 0 "https://dev.perinat-gyneco.fr/Control_Panel/ZopeProfiler/showLow" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)"
127.0.0.1 - zope[02/Apr/2009:09:05:37 +0200] "GET /VirtualHostBase/https/dev.perinat-gyneco.fr:443/VirtualHostRoot/p_/ltab HTTP/1.1" 200 0 "https://dev.perinat-gyneco.fr/Control_Panel/ZopeProfiler/showLow" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)"
127.0.0.1 - zope[02/Apr/2009:09:05:37 +0200] "GET /VirtualHostBase/https/dev.perinat-gyneco.fr:443/VirtualHostRoot/p_/rtab HTTP/1.1" 200 0 "https://dev.perinat-gyneco.fr/Control_Panel/ZopeProfiler/showLow" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)"
a partir du moment ou j'ai lancé un level, zope est bloqué... j'ai pas de retour ni dans le manage, ni sur le site.
J'ai vérifier que les modules Profile et pstats sont bien présents sur le serveur.
Ps: est ce que ca pourrait venir du fait que le serveur est virtualisé?
merci d'avance pour l'aide




