Georges Racinet a écrit :
On Jun 23, 2006, at 11:37 AM, webmaster wrote:
En bricolant un peu, je viens de tomber sur un truc marrant : si je
laisse mon Zope (quelle que soit la version) en mode debug, j'ai
bien le comportement que je recherche. En mode "performances" par
contre, il y a ce phénomène de blocage.
Bien vu, sinon on s'en serait rendu compte depuis longtemps: j'ai
couramment un thread bloqué par le debugger python et aucun problème
à accéder à la ZMI pendant ce temps.
C'est ça que je trouve étrange : en lançant deux connections dans la ZMI
uniquement, et en en chargeant lourdement une (du genre, indexer des tas
de nouveaux objets dans le portal_catlog) , pas de problème pour faire
autre chose avec l'autre session.
Mais dans le cadre pur de CPS, le fait d'être en debug ou non semble
avoir une influence.
En fait, mon scénario sous CPS est le suivant : d'un côté, je lance
l'affichage de tous les espaces de travail disponibles en étant admin.
Vu la quantité, il y en a pour au moins 10 secondes. De l'autre côté,
logé comme un utilisateur normal, j'essaye de surfer simplement, en
cliquant au hasard.
Si le serveur est en mode debug, je peux surfer d'un côté alors que de
l'autre les choses prennent leur temps. Un coup d'oeil dans le debugger
ne laisse voir que le plus lent des deux traitements, lorsqu'il présente
ses résultats.
En mode production, je ne peux naviguer que quand la liste des espaces a
fini de s'afficher. Le debugger m'indique une trace pour les deux actions.
Dans tous les cas, les choses ont bien lieu sur un thread différent.
L'affichage des espaces est basé sur une variation du code d'une boîte
d'origine, qui fait appel au portal_tree, ce qui me semble être à
première vue l'objet que ces deux actions ont en commun.
Est-ce que l'utilisation d'un mode ou de l'autre est censée
conditionner des choses dans le fonctionnement de CPS ?
Pas à ma connaissance (j'aimerais bien que des choses comme le crash
shield de CPSSkins en dépendent par contre, que pas mal d'exceptions
ne soient plus attrapées, etc)
Je viens de faire un petit test (sous 2.9.3). Il semble bien qu'il y
ait une file d'attente si on accède aux mêmes ressources (ce qui
arrive souvent sous CPS)
Vous aurez sans doute plus d'infos sur les mailing-lists Zope
C'était aussi ça l'objet de ma question : même dans les versions
disposant du MVCC, on a toujours une concurrence lors d'un simple accès
en lecture ?
Pour limiter la casse, j'ai de toute façon décidé de revoir cette
présentation des espaces qui est bien trop lourde (et malheureusement
souvent utilisée) mais ça me travaille de constater ce phénomène.
_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>