Vous êtes ici : Accueil / Forums & ML / Forum Zope / Forum Général Zope / mémoire et portal_catalog (suite)

mémoire et portal_catalog (suite)

Remonter à Forum Général Zope
  • mémoire et portal_catalog (suite)

    Envoyé par zyon le 4 Octobre 2004 à 10:59
    Je crois que dams a relevé un dysfonctionnement important (voir le thread précédent) car sur un gros serveur avec 2 go de RAM j'ai les mêmes problèmes que lui (je viens d'effectuer les tests ce matin). Après chaque update du catalogue ça gonfle indéfiniment, j'ai pas encore atteint la limite (j'en suis à 500 Mo !!).

    Quelques questions :
    Dams, as-tu essayé de remplacer les FieldIndex associés aux dates par des DateIndex ? Si oui, est-ce que ça change qq chose ?
    Tarek, Est-ce qu'un update du catalogue de CPS produit la même "fuite" ?

    Inquiétant cette histoire.
  • mémoire et portal_catalog (suite)

    Envoyé par zyon le 4 Octobre 2004 à 13:10
    Hello Macadames :smiley:

    Alors situation actuelle avec ce f...ing portal_catalog.
    Voici les reponses que j'ai eue sur la liste de plone.
    Question:
    When I update the catalog (not very big at the moment) my memories grow up (from 150M to 250M!!!) Is it normal???
    Answer:
    " It depends how big your transaction becomes. Zope must keep all data read and written by a transaction in memory until the transaction is committed/aborted."
    Depend de la taille des transactions. Zope doit garder tt les donnees des transactions en lecture et ecriture dans la memoire le temps que celle ci soit finie ou annulee.
    Autre reponse:
    "Catalog update transactions can get quite big."
    Le catalog peut contenir des transactions tres importantes.


    Bref, super reponse de la list ;-( !!!
    A premier vue, ma question n'a surpris personne.
    Donc soit on se fait du souci pour rien, soit c un probleme mais personne n'en a reellement conscience.
    A propos des champs FieldIndex je les ai changes (voir Recette), et je n'ai pas vu de changement lors de l'update, mais je pense que c une petite modification, mais qu'elle est importante pour avoir des donnees coherentes.

    Par contre, le fait d'avoir 40 Metadata n'est pas conseille. Le probleme c que je ne suis pas amuse a creer des metadata. Ce sont les produits que j ai installes qui les ont crees. Et la, checker tt les metadata pour savoir lequel a ecrit "Creator" ou "creator" et les modifier. Ca me gave un peu. :undecided:

    je pense que Zope est un gourmand, tu lui donne un serveur avec 2Giga de RAM, et ben il va se servir.
    Macadames, j ai update le catalog Vendredi, pythonw.exe est monté jusqu'a 550 Mo (1Giga RAM) et aujourd'hui (je n'ai pas redemarre mon serveur), il est a 375Mo. donc il bouge bien. "Zope joue o yoyo avec la memoire" ;)
    Mais il serait bien de mieux comprendre ou de mieux controler ce phenomene.
    La question c il s'arrete quand ?? Comment le limiter ?

    Autre point (a discuter), j'avais cru comprendre que l'update du catalog faisait partie des operations de maintenance de base qu'il fallait effectuer courament (tt les jours).
    Maintenant, j effectuerai plutot l'operation une fois par semaine avec le pack de la base et un redemarrage. Kel sont pour vous les operations de maintenance importante a faire, et srtt a quel moment?
    De ma maigre experience, voila les operations que j ai retenu : Pack DataBase, reboot, updatade catalog, Minimaze DataBase.

    Je suis impressionné j ai raconté un roman, moi qui aime pas ecrire. ;)
  • mémoire et portal_catalog (suite)

    Envoyé par zyon le 4 Octobre 2004 à 15:32
    Salut Dams

    J'ai testé le DateIndex également mais je n'ai pas réussi à mettre toutes les dates avec ce type d'index (bogue sur expires dans Plone) et pour l'instant je ne vois pas de changement, ça gonfle encore à chaque update.


    Tout cela mériterait des réponses de la part des puristes Zope, car 500 Mo de RAM ça fait beaucoup pour servir quelques pages web ? Soit on est vraiment des boeufs (niveau webmaster diraient certains) qui s'inquiètent pour rien et qui n'se posent pas les bonnes questions , soit il y a là un tabou ...
  • mémoire et portal_catalog (suite)

    Envoyé par zyon le 5 Octobre 2004 à 09:18
    update_calatog chaque jour me semble abusif. Pour ma part je ne le fait que lorsque j'ai déplace des données avec copier / coller ou une modification de masse avec un script. Sinon les créations/modifications s'enregistrent seules dans le catalog.
    HTH
  • mémoire et portal_catalog (suite)

    Envoyé par zyon le 6 Octobre 2004 à 11:43
    Alors evolution de la comprehension de la memoire pour pythonw.exe.
    J'ai poste la question sur la liste de plone pour savoir si on pouvait controler la memoire alloue pour zope.
    Et la reponse du gourou Alex est:
    " AFAIK, Windows has no such controls. It would be pretty silly anyway, and cause swapping before it had to."
    Donc bref, fo que j arrette mes connerie car si je reduit son espace memoire, il a en pique sur le DD et que de tt facon windows c pourri.
    Par contre, es ke kelk1 c se ke veux dire AFAIK ?

    La deuxieme reponse etait plus complete.
    En bref on ne peut pas changer l'espace de memoire utilise par contre on peut essayer de la controler en jouant sur "the cache object pool size" pour que zope vire les object non utilise.
    Une autre possibilite est de limiter le nombre de threads (default: 4)
    Mais bon en faissant ca, on reduit les performance de Zope, et comme dit Alex, je pense que ca va swappe le DD. Donc pas top.

    Donc perso, j'en suis tjrs a la meme conclusion: Zope est un gourmand, Donne lui une barrette (de chocolat) et il te la bouffe.

    Es que kelk1 a d'autre experience avec des serveurs d'appli, Est qu'ils sont tous aussi gourmand de mem ?

    :huh:
  • mémoire et portal_catalog (suite)

    Envoyé par zyon le 6 Octobre 2004 à 16:25
    C'est où pour contrôler "the cache object pool size" avec Zope 2.7 ?

    T'as raison dams, Zope est gourmand, plus il y a de mémoire disponible plus il en bouffe. En tout cas ça se passe comme ça avec Windows apparemment.

    Et sous Linux ça se passe comment ? ça m'intéresse car je ne vais pas tarder à basculer certains sites en prod vers un RedHat.

    A+
  • mémoire et portal_catalog (suite)

    Envoyé par zyon le 6 Octobre 2004 à 17:05
    Je pense que cela se fini dans ton zope.conf
    A consulter : http://mechanicalcat.net/tech/zope/Zope_schema.html
    contient tt les parametre que l'on peut passer pour zope

    zodb.database
    cache-size (function integer) (default: '5000')
    pool-size (function integer) (default: '7')
    version-pool-size (function integer) (default: '3')
    version-cache-size (function integer) (default: '100')

    Mais j'en sais pas plus :undecided:
    sinon pour linux, je sais pas j'utilise pas (pas encore :tongue: )
  • mémoire et portal_catalog (suite)

    Envoyé par zyon le 6 Octobre 2004 à 20:22
    <<<<<<<<<<
    Et sous Linux ça se passe comment ? ça m'intéresse car je ne vais pas tarder à basculer certains sites en prod vers un RedHat.
    <<<<<<<<<<

    excellent, c'est beaucoup mieux :grin:


    d'après mon experience, zope n'est pas plus gourmand qu'un autre SA /
    (par exemple une application ISAPI sous IIS)

    A priori la config-type pour un seul serveur zope (no zeo) est 1 giga de ram

    zopeur est hébergé sur une red hat avec 512 m de ram (en compagnie de quelque autres sites)

    voici un top realisé sur le serveur à l'instant et comme vous pouvez le voir 512 c'est limite :

    160 processes: 156 sleeping, 1 running, 3 zombie, 0 stopped
    CPU0 states: 45,0% user, 18,1% system, 0,0% nice, 36,0% idle
    CPU1 states: 42,0% user, 26,0% system, 0,0% nice, 31,0% idle
    Mem: 506532K av, 498688K used, 7844K free, 0K shrd, 21484K buff
    Swap: 522104K av, 209748K used, 312356K free 106452K cached

    PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
    7916 zope 14 0 199M 199M 3456 S 24,3 40,2 3:43 python2.3
    7971 zope 10 0 199M 199M 3456 S 10,8 40,2 1:31 python2.3
    13669 root 19 0 1108 1104 820 R 9,0 0,2 0:00 top
    29019 nobody 9 0 5304 4996 2608 S 2,7 0,9 0:00 httpd
    26479 named 9 0 3076 2820 1464 S 0,9 0,5 0:09 named
    28654 zope 9 0 199M 199M 3456 S 0,9 40,2 4:15 python2.3
    10420 nobody 9 0 6152 5844 2636 S 0,9 1,1 0:01 httpd
    9177 nobody 9 0 6152 5844 2624 S 0,9 1,1 0:02 httpd
    1 root 8 0 492 452 424 S 0,0 0,0 0:04 init
    2 root 9 0 0 0 0 SW 0,0 0,0 0:00 keventd
    3 root 19 19 0 0 0 SWN 0,0 0,0 0:03 ksoftirqd_CPU0
    4 root 19 19 0 0 0 SWN 0,0 0,0 0:02 ksoftirqd_CPU1
    5 root 9 0 0 0 0 SW 0,0 0,0 2:46 kswapd
    6 root 9 0 0 0 0 SW 0,0 0,0 0:00 bdflush

  • mémoire et portal_catalog (suite)

    Envoyé par zyon le 7 Octobre 2004 à 09:37
    Ca a l'air beaucoup moins gourmand que sous Windows.

    Pour l'instant, je n'ai jamais vu un processus python utiliser moins de 40Mo sous windows mais chui pas un pro.

    Quant à IIS avec quelques ISAPI j'en ai un sous les yeux qui consomme 176 Mo, tandis qu'une instance Zope est à 70 Mo et une autre instance Zope à 40 Mo pour un total de 2 Go de RAM (j'ai pas fait d'update_catalog intempestif :wink: ). Le serveur IIS fait 10 fois plus de connexions que la première instance Zope mais c'est le cache qui travaille le plus (ASP ou PHP de base pour la plupart des requêtes), on ne peut pas comparer avec la puissance de Zope. Faut relativiser quand-même : IIS n'est pas vraiment une référence, et faudrait également s'entendre sur l'expression "serveur d'application" qui n'est qu'un terme commercial. Donc d'autres comparaisons seraient bienvenues.
  • mémoire et portal_catalog (suite)

    Envoyé par zyon le 7 Octobre 2004 à 09:51
    Réponse à Dams :

    J'ai pas terouvé tous ces paramètres (cache-size, pool-size ...) dans mon Zope.conf. J'utilise Zope 2.7.0
  • mémoire et portal_catalog (suite)

    Envoyé par zyon le 7 Octobre 2004 à 11:14
    Pour Macadames (On devrait se creee un chat, on converse bcp qd meme ;) :
    En faites,
    Ces param ne sont pas indique dans le zope.conf, mais ils peuvent etre ajouter.
    voir site: http://mechanicalcat.net/tech/zope/Zope_schema.html


    Voila le meme question de la list plone

    * Help with changing ZODB cache size
    There is the zodb section in zope.conf.. but nothing about cache??

    You have to add the option as it's not in zope.conf by default .. eg:
    (Crochet)zodb_db main(Crochet)
    ...
    cache-size 20000
    ...
    (Crochet)zeoclient(Crochet)
    cache-size 40000000



  • mémoire et portal_catalog (suite)

    Envoyé par zyon le 7 Octobre 2004 à 15:25
    merci dams :cool:
Rendu par Ploneboard