-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 We use zope with the following environment: - - Zope 2.7.4-0 - - ZCoMIX-1.0.2+ (http://sourceforge.net/projects/zcomix) - - mysqlUserFolder 1.0.0 - - python 2.3.4 - - Red Hat Enterprise Linux ES release 2.1, kernel 2.6.11, ext2 fs - - MySQL-server-4.0.20 - - Apache 2.0.50 (with HTTPS) for cache 1 Portal replicated through Zeo and balanced with DNS Round Robin. Hardware: 2 Servers HP ML350 G4 with Dual Intel Xeon 2.80GHz, 3Gb of Memory, without RAID, SCSI U320 with 4 disks 120gb. We posted a dynamic document for the students (35.000). The document is generated using queries in MySql database, after user autentication using mysqluserfolder. The python processes occupied 100% of machines resources (cpu and memory), and the load average increased quickly. We evidenced that the problems had occurred before user authentication, only trying access the initial page of the Zope portal. We estimated that the simultaneous accesses to our portal are approximately 10000 people in a moment, that finished generating a DoS (Denial of Service) in our portal. To resolve the problem momentarily, we posted static documents in PHP, without Zope. Have someone experience in sites of great traffic using Zope? If so, please give us some tip for tunning the system or discover the bootleneck points. We have doubts if what it is generating the problem is the ZCoMIX or the Zope, or even though the configuration of Apache. - -- Jeronimo Zucco LPIC-1 Linux Professional Institute Certified Núcleo de Processamento de Dados Universidade de Caxias do Sul "May the Source be with you." - An unknown jedi programmer. http://jczucco.blogspot.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFDKwphTCq0VJ4DIPwRAoCWAJ9ILkzxHiCNKd3Uq9Y8T+Gi/YmopQCgjPY/ ytXv2M1K7rZ2EgzDEbpJtVI= =8sTe -----END PGP SIGNATURE-----
Have someone experience in sites of great traffic using Zope? If so, please give us some tip for tunning the system or discover the bootleneck points.
This is a FAQ* and has been discussed recently; the list archives might be helpful. I have a bunch of links to performance docs here: http://www.slinkp.com/code/zopestuff * unfortunately, there is no real FAQ list for this mailing list that I know of. -PW
--On 16. September 2005 15:09:37 -0300 Jeronimo Zucco <jczucco@ucs.br> wrote:
We posted a dynamic document for the students (35.000). The document is generated using queries in MySql database, after user autentication using mysqluserfolder.
The python processes occupied 100% of machines resources (cpu and memory), and the load average increased quickly. We evidenced that the problems had occurred before user authentication, only trying access the initial page of the Zope portal.
We estimated that the simultaneous accesses to our portal are approximately 10000 people in a moment, that finished generating a DoS (Denial of Service) in our portal.
Short answer: all requests are processed by four worker thread - one after each other. If the threads are busy, all other requests have to wait in the request pipeline. When you document is generated but static for all users then you should make it cachable and so it can be emitted through the Apache cache. -aj
Jeronimo Zucco wrote at 2005-9-16 15:09 -0300:
... The python processes occupied 100% of machines resources (cpu and memory), and the load average increased quickly. We evidenced that the problems had occurred before user authentication, only trying access the initial page of the Zope portal.
Use a profiler (e.g. my "ZopeProfiler") to find out where the time is spent. Optimize the hotspots. Furthermore, carefully check what pages, part of pages or page resources (such as database query results) can be cached. Use caching as agressive as possible. Zope supports caching in many ways: * setting HTTP cache headers such that an external cache (SQUID, Apache, ...) can intelligently cache pages --> HTTPCacheManager, "caching_policy_manager" * caching parts of pages via the RAMCacheManager * caching the result of relational database queries * more caching types can be supported in your own products. -- Dieter
participants (4)
-
Andreas Jung -
Dieter Maurer -
Jeronimo Zucco -
Paul Winkler