Hi everyone, I recently set up a Squid frontend before ZEO server + a single ZEO client. Specs: ZEO: 2.0.1 Zope: 2.6.1 Storage: DirectoryStorage 1.0.1 Platform: Redhat Linux 8 with all erratas applied up to this date Kernel: 2.4.20 + aa1 patch Squid: 2.4.STABLE7-4 I successfully set up a cache peer thanks to Toby Dickenson's excellent howto: http://www.zope.org/Members/htrd/howto/squid After running Squid for about a week, I found something really annoying about this setup: Squid gives up on the ZEO client for dead when Zope is packing the ZODB. And the Squid manual says it'll query even a dead peer from time to time to see if it came alive, but that never happens. I'm running z2.py with --icp 3130. And the problem occurs only when packing is in progress. It seems when packing is in progress, Zope's taking too long to respond to queries sent from Squid. I tried adjusting timeout values as high as 20 seconds to no avail. Going for higher values looks really stupid. I have to restart Squid again and again. I even came up with a little shell script to grep Squid's cache.log every 10 minutes and restart the daemon if it finds a string containing 'Detected Dead Parent' ( and, of course, empty the log ). But it's so kludgy a solution :-( It gets worse. Last night, I added two more ZEO clients to this setup, and now I have three clients in total. Whenever the packing script runs, all three ZEO clients are pronounced dead by Squid and during this time no service is available. The 10-minute cron job restarted Squid as many as 5 times. The packing script is started by a single ZEO client. Anyone experienced a simliar problem? Here goes another. I haven't been able to track down the cause of this problem but having three ZEO clients takes much longer to serve ZODB than having a single ZEO client. For example, it used to take an average 1 second rendering a CMF document when I ran a single ZEO client, but it now takes an average 2.5 seconds with three clients. Plus, it generates conflicts too often. The slow performance, however, is not directly related to read conflicts since even with no conflict, the overall performance is way too bad. All three ZEO clients are 2-way/4-way Xeon servers with RAM to burn: 2G. Nothing is hogging any of their resources. All three of them are hooked up with ZEO server/Squid frontend in 100M bandwidth. Any ideas? Thanks in advance. Wankyu Choi --------------------------------------------------------------- Wankyu Choi CEO/President NeoQuest Communications, Inc. http://www.zoper.net http://www.neoboard.net ---------------------------------------------------------------
participants (1)
-
Wankyu Choi