[Zope-dev] Plone/Zeocluster performances problems
Service TICE
servicetice at gmail.com
Wed Nov 26 12:04:33 EST 2008
Hello
After many searches I’m stuck on several problems, I hope you guys can
help me :)
I’m using Plone as institutional webportal (Zope 2.9.8-final, python
2.4.4) with python 2.4.4. The portal runs a zeocluster with 4
production instances, 3 threads each, and 1 admin instance (in debug
mode). All instances share the same ZODB and data.fs on local drive.
We use Apache 2 and a "STICKY_ROUTE" cookie to redirect user to the
instance he's logged to.
We use SSO authentification (CAS) with PloneCASLogin 2.5.0.
Apache configuration:
## Default Virtual Host Configuration
Listen xxx.xxx.xxx:80
NameVirtualHost xxx.xxx.xxx:80
<VirtualHost xxx.xxx.xxx:80>
ServerName xxx.xxx.xxx
ServerAdmin xxx at xxx.xxx
<Proxy balancer://lb>
BalancerMember http://xxx.xxx.xxx:8080
route=8080"
BalancerMember http://xxx.xxx.xxx:8081
route=8081"
BalancerMember http://xxx.xxx.xxx:8082
route=8082"
BalancerMember http://xxx.xxx.xxx:8083
route=8083"
</Proxy>
# conditional proxy pass
ProxyPass / balancer://lb/VirtualHostBase/http/xxx.xxx.xxx:
80/plone/VirtualHostRoot/ stickysession=STICKY_ROUTE
#LOGS
#LogLevel debug
ServerAlias *
CustomLog /opt/apache2/xxx.xxx.xxx.log combined
</VirtualHost>
We noticed that, sometimes, users are not redirected to right
instance, so we decided to use the same temporary_folder for all
instances and users are connected to the 4 instances at same time.
But this modification causes errors like this one from my event.log
file:
2008-11-26T10:45:23 INFO ZPublisher.Conflict ConflictError at /
VirtualHostBase/http/XXXXX.fr:80/XXXX/VirtualHostRoot/Cours/
Cours.XXXXX.4424/fichiersan_XXXXX.2530/cours_supports_affichage:
database conflict error (oid 0x2571, class BTrees._OOBTree.OOBTree,
serial this txn started with 0x037a24a416ae79bb 2008-11-26
09:40:05.315987, serial currently committed 0x037a24a95ee0d788
2008-11-26 09:45:22.237099) (1 conflicts (0 unresolved) since startup
at Wed Nov 26 10:43:19 2008)
and this one from plone's error_log:
Request URL
http://XXXXXX.fr/Members/XXXXX/Cours/Cours.XXXXX.4648/cours_attacher_template
Exception Type
database conflict error (oid 0x1247, class
BTrees._OOBTree.OOBTree, serial this txn started with
0x037a1ffe66682b66 2008-11-25 13:50:24.001620, serial currently
committed 0x037a1ffeae62ca44 2008-11-25 13:50:40.871695)
Exception Value
database conflict error (oid 0x1247, class
BTrees._OOBTree.OOBTree, serial this txn started with
0x037a1ffe66682b66 2008-11-25 13:50:24.001620, serial currently
committed 0x037a1ffeae62ca44 2008-11-25 13:50:40.871695)
Traceback (innermost last):
* Module Zope2.App.startup, line 173, in zpublisher_exception_hook
* Module ZPublisher.Publish, line 121, in publish
* Module Zope2.App.startup, line 240, in commit
* Module transaction._manager, line 96, in commit
* Module transaction._transaction, line 380, in commit
* Module transaction._transaction, line 378, in commit
* Module transaction._transaction, line 436, in _commitResources
* Module ZODB.Connection, line 665, in tpc_vote
* Module ZEO.ClientStorage, line 893, in tpc_vote
* Module ZEO.ClientStorage, line 877, in _check_serials
ConflictError: database conflict error (oid 0x1247, class
BTrees._OOBTree.OOBTree, serial this txn started with
0x037a1ffe66682b66 2008-11-25 13:50:24.001620, serial currently
committed 0x037a1ffeae62ca44 2008-11-25 13:50:40.871695)
From what I understand, there's a conflict in my database when user
wants to access an object. I assume it's related to the
temporary_folder sharing modification because errors appeared after it.
Is there a way to resolve this error? Is there inconvenient to share
temporary_folder? Should I stop it?
My second problem, found in the event.log:
2008-11-26T10:45:28 ERROR PortalTransforms Cannot register transform
lynx_dump, using BrokenTransform: Error
Unable to find binary "lynx" in /opt/local/bin:/usr/bin:/bin:/usr/
sbin:/sbin:/usr/local/bin:/usr/X11/bin
I don't understand when and why Plone tries to access to Lynx. We
don't receive any traceback error in Plone's error_log.
Last but not least. Sometimes instances stops all alone. We were not
able to find why because we don't receive any error, message or
signal. When stops occur, we restart Zeo by ssh, then instances works
fine for some times but the problem comes back later.
The server has 8 processors with very low usage but the 12gb RAM are
always saturated à 98%. Python process takes 1 to 2gb RAM but there's
a lot of "httpd" processes, up to 2.5gb each, their origin remains
unknown to us.
Thanks
More information about the Zope-Dev
mailing list