Zope scalabilty and problems
Here is our situation, we originally launched zope with a small user base in mind and like most IT implementations it got away from us quickly and we have over 1000 users now. We are experiencing huge slowdowns and lots of complaints of performance. Let me outline our system: I have a load balancer that round robins incoming request to 3 zeo servers I have 1 zope server on the back en that severs the data, this is a large single processor machine with 4 gigs of ram Each zeo server is 2 gigs of ram, single processor 3.2 gighz The throughput doesn't appear to be the problem as ram/processors are. Short term I plan to change all zeo's to 4 gigs ram and add 3 additional servers. The Technologies we are using are Zope, Zeo, plone and so forth. Why are we having these large issues? I see sites with hundreds of thousands of users and they don't seem to have these issues? We plan to recode our site to get away from the Data.fs as soon as we can but that is a ways off yet. What am I doing wrong can anyone help?
On 8/31/05, Kennamore, Matthew G [NTK] <Matthew.G.Kennamore@sprint.com> wrote:
The Technologies we are using are Zope, Zeo, plone and so forth. Why are we having these large issues? I see sites with hundreds of thousands of users and they don't seem to have these issues? We plan to recode our site to get away from the Data.fs as soon as we can but that is a ways off yet. What am I doing wrong can anyone help?
Always hard to tell, but maybe you do many writes to the ZODB? As long as you only read Zope can be very fast, but writes to the ZODB will take a long time. Also, Plone (and any CMF technology in fact) has a serious performance hit in the skins system. There are some improvements possible there, like giving visitors a special skin that includes fewer skin folders and such. Check on a plone list for more help there. -- Lennart Regebro, Nuxeo http://www.nuxeo.com/ CPS Content Management http://www.cps-project.org/
Kennamore, Matthew G [NTK] wrote:
Here is our situation, we originally launched zope with a small user base in mind and like most IT implementations it got away from us quickly and we have over 1000 users now. We are experiencing huge slowdowns and lots of complaints of performance.
Let me outline our system:
I have a load balancer that round robins incoming request to 3 zeo servers
I have 1 zope server on the back en that severs the data, this is a large single processor machine with 4 gigs of ram
Each zeo server is 2 gigs of ram, single processor 3.2 gighz
The throughput doesn’t appear to be the problem as ram/processors are.
Short term I plan to change all zeo’s to 4 gigs ram and add 3 additional servers.
The Technologies we are using are Zope, Zeo, plone and so forth. Why are we having these large issues? I see sites with hundreds of thousands of users and they don’t seem to have these issues? We plan to recode our site to get away from the Data.fs as soon as we can but that is a ways off yet. What am I doing wrong can anyone help?
You will need to find out where the slow bits are. There are various profiling tools for use in Zope. PTProfiler, CallProfiler, etc. Also examine your ZODB cache graphs and settings. These can tell you where your bottlenecks are. There are lots of ways to improve performance just administratively. You can improve various zope.conf settings, and set up caching (either RAM or HTTP Accel.) in Plone. You can also put a caching proxy server (like Squid) in front of your Zopes. Also, Plone 2.1 is significantly faster. --jcc -- "Building Websites with Plone" http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com
From experience, one of the most efficient performance boosts is to purchase a fast machine for it. If you're in a commercial environment, your shareholders might prefer that you spent your costed time developing new things instead of spending a few extra hundreds of pounds/dollars on expensive CPUs. We even have a plone 2.0 site that is quite fast believe it or not.
And yes, as J says, get the worst bottlenecks out of the way, but bare in mind that it's only a bottleneck if it's requested often (such as the homepage). If you are relying on the Data.fs for complex data handling, make sure that your common read methods don't make any writes to the zodb. I had such a "bug" in the issuetrackerproduct where getIssueFiltered() made a save to the zodb under certain conditions. Under heavy use I started to get zodb conflict errors that I didn't see when developing on localhost. On 8/31/05, J Cameron Cooper <zope-l@jcameroncooper.com> wrote:
Kennamore, Matthew G [NTK] wrote:
Here is our situation, we originally launched zope with a small user base in mind and like most IT implementations it got away from us quickly and we have over 1000 users now. We are experiencing huge slowdowns and lots of complaints of performance.
Let me outline our system:
I have a load balancer that round robins incoming request to 3 zeo servers
I have 1 zope server on the back en that severs the data, this is a large single processor machine with 4 gigs of ram
Each zeo server is 2 gigs of ram, single processor 3.2 gighz
The throughput doesn't appear to be the problem as ram/processors are.
Short term I plan to change all zeo's to 4 gigs ram and add 3 additional servers.
The Technologies we are using are Zope, Zeo, plone and so forth. Why are we having these large issues? I see sites with hundreds of thousands of users and they don't seem to have these issues? We plan to recode our site to get away from the Data.fs as soon as we can but that is a ways off yet. What am I doing wrong can anyone help?
You will need to find out where the slow bits are. There are various profiling tools for use in Zope. PTProfiler, CallProfiler, etc. Also examine your ZODB cache graphs and settings. These can tell you where your bottlenecks are.
There are lots of ways to improve performance just administratively. You can improve various zope.conf settings, and set up caching (either RAM or HTTP Accel.) in Plone. You can also put a caching proxy server (like Squid) in front of your Zopes.
Also, Plone 2.1 is significantly faster.
--jcc -- "Building Websites with Plone" http://plonebook.packtpub.com/
Enfold Systems, LLC http://www.enfoldsystems.com _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
-- Peter Bengtsson, work www.fry-it.com home www.peterbe.com hobby www.issuetrackerproduct.com
Am Mittwoch, 31. August 2005 18:50 schrieb J Cameron Cooper:
There are lots of ways to improve performance just administratively. You can improve various zope.conf settings, and set up caching (either RAM or HTTP Accel.) in Plone. You can also put a caching proxy server (like Squid) in front of your Zopes.
not to forget that playing with the zeo and/or zope database caches might help; if you see lots of conflict errors in you logs, may be an upgrade to 2.8 with MVCC does a benefit. and, of course, look carefully if any other tasks on all of your servers compete with your cpu and io resources. Cheers, Sascha P.S. just in case, debug mode or profiling and such are better to be disabled on your live system...:-)
Kennamore, Matthew G [NTK] wrote:
The Technologies we are using are Zope, Zeo, plone and so forth. Why are we having these large issues?
It depends entirely on your application. Plone doesn't help you here, and I'd certainly consider replacing that long before I think about trying to ditch ZODB in favour of a relation back end (something I find confusing, since a relational db can be just as slow if you mistreat it in the ways people often mistreat ZODB - "Data.fs", ie: FileStorage, is about as fast as it gets when used correctly. As I said, Plone doesn't help you here, and it, and the coding styles it encourages, along with Archetypes myriad layers of indirection are likely to be the source of your problem. I'd start with: - make sure requests that shouldn't be writing to the ZODB aren't writing to the ZODB - The Undo tab in the root of your Zope instance is good for that, it shouldn't have any entries for views on it - get PTProfiler up and running and profile your most commonly used urls, try and knock on the top file slowest items on the profile results, or at least make them not slow anymore - look at doing some clever coding, portal_catalog search and AT references are the worst offendors for hopelessly slow code that you'd expect to be fast. - finally, start looking at app-level caching, things like CMF's cookedBody can be applied more widely as techniques. - at this point, look at systemic caching such as Squid, ESI, etc. This is much harder if you need to have authenticated users. cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Kennamore, Matthew G [NTK] wrote:
Here is our situation, we originally launched zope with a small user base in mind and like most IT implementations it got away from us quickly and we have over 1000 users now. We are experiencing huge slowdowns and lots of complaints of performance.
Let me outline our system:
I have a load balancer that round robins incoming request to 3 zeo servers
I have 1 zope server on the back en that severs the data, this is a large single processor machine with 4 gigs of ram
Each zeo server is 2 gigs of ram, single processor 3.2 gighz
The throughput doesn't appear to be the problem as ram/processors are.
Short term I plan to change all zeo's to 4 gigs ram and add 3 additional servers.
The Technologies we are using are Zope, Zeo, plone and so forth. Why are we having these large issues? I see sites with hundreds of thousands of users and they don't seem to have these issues? We plan to recode our site to get away from the Data.fs as soon as we can but that is a ways off yet. What am I doing wrong can anyone help?
What versions of Python, Zope, etc. are you running, and on what OS? Your latest posting (the "blocked transaction" entries in your storage server logs) sounds like you might be running Zope 2.6.x. Tres. - -- =================================================================== Tres Seaver +1 202-558-7113 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDFygV+gerLs4ltQ4RArPjAJ4jda2vJJtQVZHbCGvt4gH7oRa3agCeMbMF +0jnwU7OXY+kge35A9gny4s= =3G6a -----END PGP SIGNATURE-----
Your "tranaaction blocked" error messages seem to imply that either or both of the following is true: - some transactions are taking a "long time" (any more than, say, 200 milliseconds is a long time) - you have a very high transaction volume. That said, these messages are informational rather than signifying an error condition. Some transaction blockage is expected since the ZEO server can only deal with one transaction at a time. What version of Zope are you using? Is this an "intranet" application? Are there lots of users creating content? Can you venture a guess as to how many users are "creating" content vs. "viewing" content at any given time? Are the users that are creating content logged in? The users that are viewing content? On Wed, 2005-08-31 at 11:03 -0500, Kennamore, Matthew G [NTK] wrote:
Here is our situation, we originally launched zope with a small user base in mind and like most IT implementations it got away from us quickly and we have over 1000 users now. We are experiencing huge slowdowns and lots of complaints of performance.
Let me outline our system:
I have a load balancer that round robins incoming request to 3 zeo servers
I have 1 zope server on the back en that severs the data, this is a large single processor machine with 4 gigs of ram
Each zeo server is 2 gigs of ram, single processor 3.2 gighz
The throughput doesn’t appear to be the problem as ram/processors are.
Short term I plan to change all zeo’s to 4 gigs ram and add 3 additional servers.
The Technologies we are using are Zope, Zeo, plone and so forth. Why are we having these large issues? I see sites with hundreds of thousands of users and they don’t seem to have these issues? We plan to recode our site to get away from the Data.fs as soon as we can but that is a ways off yet. What am I doing wrong can anyone help?
_______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
participants (8)
-
Chris McDonough -
Chris Withers -
J Cameron Cooper -
Kennamore, Matthew G [NTK] -
Lennart Regebro -
Peter Bengtsson -
Sascha Ottolski -
Tres Seaver