Setting up a dedicated Zope box
I'm going to be setting up a Zope server soon for a public web site. The server will also be running mySQL and possibly Apache. What Operating System is recommended both from the point of view of ease of Zope installation and also stability/performance etc? Finally, what would be considered a minimum spec for such a server? Many thanks Tom
OS depends on your preference/comfort level. I would recommend a Unix flavor, such as FreeBSD, but many ppl use Windows servers (NT/2000/etc). As for the server, RAM is important. Throw as mush RAM at it as you can. Processor is second. I/O performance is generally not as big a deal for Zope (since it works mainly from RAM), but might be for other pieces (such as mySQL or squid). You should probably setup ZEO as well. That makes it easy to scale your server. Plus you get advantages like faster restarts and less intrusive packing. The following is an excellent guide to setting up Zope/ZEO "properly" on a Unix platform, keeping Zope itself, products and custom code separated for easier upgrading/site managment. http://www.zope.org/Members/dshaw/AdvancedSiteSetup hth, -Casey Tom Nixon wrote:
I'm going to be setting up a Zope server soon for a public web site. The server will also be running mySQL and possibly Apache. What Operating System is recommended both from the point of view of ease of Zope installation and also stability/performance etc?
Finally, what would be considered a minimum spec for such a server?
Many thanks
Tom
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
On Fri, 22 Mar 2002 11:41:55 -0700, Casey Duncan <casey@zope.com> wrote:
Finally, what would be considered a minimum spec for such a server?
Unless your budget is tiny I recommend using two servers, even if they have to be lower spec. This gives higher availability. Its also makes for more relaxed management if you know you are always free to bring one server down for maintenance. Toby Dickenson tdickenson@geminidataloggers.com
Finally, what would be considered a minimum spec for such a server?
Unless your budget is tiny I recommend using two servers, even if they have to be lower spec. This gives higher availability. Its also makes for more relaxed management if you know you are always free to bring one server down for maintenance.
Do you mean 2 servers using ZEO, or a separate server for the database? Casey: Thanks for your pointers in previous message :) T.
On Friday 22 March 2002 5:16 pm, Tom Nixon wrote:
Finally, what would be considered a minimum spec for such a server?
Unless your budget is tiny I recommend using two servers, even if they have to be lower spec. This gives higher availability. Its also makes for more relaxed management if you know you are always free to bring one server down for maintenance.
Do you mean 2 servers using ZEO, or a separate server for the database?
The ZEO server is a shockingly lightweight process, so there are no *performance* reasons to put it on its own box. If the requirements are for very high availability then it needs to go on a box with redundant hardware (power suppplies, NIC, RAID, etc) and running no other software. (In future it will be possible to have replicated zeo servers. At that point you could build a highly available zeo cluster solely from dirt cheap hardware. Mmmmmmmm) I suggest you dont run ZEO if you dont need to. If your content is mostly static then each server can use a local filestorage, using rsync to replicate one way. This makes for greater redundancy.
The ZEO server is a shockingly lightweight process, so there are no *performance* reasons to put it on its own box.
This isn't entirely true... on very high-load sites, a ZEO server process can consume a fair amount of resources... I've seen the ZEO server crank the load average on a Dell 2550 up to over 2. But we're talking *very* high load... on the order of ~ 400 requests/sec with a fair number of writes. For "normal" sites it certainly would make sense to run the ZEO process on the same box. - C
On Friday 22 March 2002 5:47 pm, Chris McDonough wrote:
The ZEO server is a shockingly lightweight process, so there are no *performance* reasons to put it on its own box.
This isn't entirely true... on very high-load sites, a ZEO server process can consume a fair amount of resources...
I've seen the ZEO server crank the load average on a Dell 2550 up to over 2.
Not bad for a single-threaded process ;-)
But we're talking *very* high load... on the order of ~ 400 requests/sec with a fair number of writes.
Interesting. which storage was it using?
On Fri, 2002-03-22 at 10:47, Chris McDonough wrote:
The ZEO server is a shockingly lightweight process, so there are no *performance* reasons to put it on its own box.
This isn't entirely true... on very high-load sites, a ZEO server process can consume a fair amount of resources... I've seen the ZEO server crank the load average on a Dell 2550 up to over 2. But we're talking *very* high load... on the order of ~ 400 requests/sec with a fair number of writes. For "normal" sites it certainly would make sense to run the ZEO process on the same box.
Chris, how high of an rps would you expect a nicely powered (say, dual Athlon 2000+, 1-2GB RAM) ZEO Server to handle, roughly speaking? -- Bill Anderson Linux in Boise Club http://www.libc.org Amateurs built the Ark, professionals built the Titanic. Amateurs build Linux, professionals build Windows(tm).
Chris, how high of an rps would you expect a nicely powered (say, dual Athlon 2000+, 1-2GB RAM) ZEO Server to handle, roughly speaking?
Depending on the type of site it was (writes are much more expensive than reads in almost all contexts), and how well the code was written, I'd imagine that a single Zope backended by ZEO could crank out on the order of 30 - 90 r/s. But the ZEO server isn't the bottleneck here, it's Zope. The ZEO server I mentioned that spikes the processor is fronted by 10 ZEO clients, but each appserver is only capable of delivering a nominal 7 requests/sec due to a lack of app optimization. After caching, the ZEO server ends up servicing somewhere on the order of 5 transactions per second or so during normal load, but I can imagine that it's serving about 5X that number during peak periods. -- Chris McDonough Zope Corporation http://www.zope.org http://www.zope.com "Killing hundreds of birds with thousands of stones"
On Sat, 2002-03-23 at 18:44, Chris McDonough wrote:
Chris, how high of an rps would you expect a nicely powered (say, dual Athlon 2000+, 1-2GB RAM) ZEO Server to handle, roughly speaking?
Depending on the type of site it was (writes are much more expensive than reads in almost all contexts), and how well the code was written, I'd imagine that a single Zope backended by ZEO could crank out on the order of 30 - 90 r/s. But the ZEO server isn't the bottleneck here, it's Zope.
Right, I want to determine if anyone knows what the ZEO Server's limit is.
The ZEO server I mentioned that spikes the processor is fronted by 10 ZEO clients, but each appserver is only capable of delivering a nominal 7 requests/sec due to a lack of app optimization. After caching, the ZEO server ends up servicing somewhere on the order of 5 transactions per second or so during normal load, but I can imagine that it's serving about 5X that number during peak periods.
OK, so I'll use TPS then. :) So, the aforementioned ZSS is peaking (estimated) at ~25 TPS. We can safely assume that it could handle ~90 TPS (as in the case of a single Zope Server connected to it. Basically, I'm looking at it like this: Assuming good code, an emphasis on reads, and several hundred Zope Server front ends, at what point, measured in TPS, could I expect my ZSS to fall over? Not RPS for the whole site overall, but transactions per second for the storage server. Through ZEO, Zope has awesome potential to scale, but we will eventually hit a limit when it comes to a single ZEO Storage Server. It would be good to know that limit. -- Bill Anderson Linux in Boise Club http://www.libc.org Amateurs built the Ark, professionals built the Titanic. Amateurs build Linux, professionals build Windows(tm).
Have just upgraded to Zope 2.5.0 running on Python 2.1.2 and am experiencing python.core dumps when I do nothing more than click on folders (no transactions, no editing). Probably the best thing about it is that it only takes 8 or 9 clicks before it crashes so it's very reproducible. Have run this with gdb and got this ~ (gdb) c Continuing. Program received signal SIGSEGV, Segmentation fault. 0x8093eaf in PyTuple_New () Is this a known bug ? I've imported a few of my previous packages and that's about it. What should I be looking out for or is there anything else I can do to debug further ? Am running on FreeBSD4.4 Release. Failing my ability to get this running, does anybody have a recommendation for a previous, very stable version of Zope. I'm still using pre-2.2 at the moment. TIA. chas
chas wrote:
Have just upgraded to Zope 2.5.0 running on Python 2.1.2 and am experiencing python.core dumps when I do nothing more than click on folders (no transactions, no editing). Probably the best thing about it is that it only takes 8 or 9 clicks before it crashes so it's very reproducible. Have run this with gdb and got this ~
(gdb) c Continuing. Program received signal SIGSEGV, Segmentation fault. 0x8093eaf in PyTuple_New ()
Is this a known bug ? I've imported a few of my previous packages and that's about it. What should I be looking out for or is there anything else I can do to debug further ?
Am running on FreeBSD4.4 Release.
Failing my ability to get this running, does anybody have a recommendation for a previous, very stable version of Zope. I'm still using pre-2.2 at the moment.
TIA.
chas
Chas, you probably need to rebuild python with a bigger default thread stack size. You have to code a bit to do it; it involves modifying the thread initialization code. It isn't tough, I dont know if anyone has packaged up a patch for it. You can check the zope-dev mail archives for details. -- Matt Kromer Zope Corporation http://www.zope.com/
Chas, you probably need to rebuild python with a bigger default thread stack size. You have to code a bit to do it; it involves modifying the thread initialization code. It isn't tough, I dont know if anyone has packaged up a patch for it. You can check the zope-dev mail archives for details.
Thanks for the speedy response, Matt. Since I'm just migrating one of my zope sites to a new server and won't be doing future development on it, I think I'll just roll back to a previous version of Zope. It's not that I'm a sloth but it's already 3am and I was hoping (perhaps optimistically) to get this done tonight. ... that was 6 hrs ago. Don't wish to waste anybody's time so will roll back. Really do appreciate the fast diagnosis, advice and response though. Cheers. chas
On Fri, 2002-03-22 at 18:41, Casey Duncan wrote:
something missing from that summary is that you should consider compiling python from source to include large file support, since most distros don't seem to have it enabled by default. seb
From: "Tom Nixon" <tom.nixon@aim23.com>
I'm going to be setting up a Zope server soon for a public web site. The server will also be running mySQL and possibly Apache.
What Operating System is recommended both from the point of view of ease of Zope installation
Windows NT.
and also stability
Some unix.
performance
Depends more on the hardware, I would think.
etc?
Security: openBSD.
Finally, what would be considered a minimum spec for such a server?
The minimum spec today would be a 1+GHz PC with 20 GB hd and 128MB memory, simply because these are the cheapest servers you can buy (unused) today. :-) This would however be overkill for a typical webserver.
Tom Nixon writes:
I'm going to be setting up a Zope server soon for a public web site. The server will also be running mySQL and possibly Apache. What Operating System is recommended both from the point of view of ease of Zope installation and also stability/performance etc? I would prefer Linux.
Finally, what would be considered a minimum spec for such a server? That depends on your load:
I used Zope on a 100 MHZ Pentium with 32 MB RAM. It was not fast (it was slow!) but worked as I have been the only user. Now, I am using Zope on a 1.4 GHZ AMD Athlon with 600 MB DDR-RAM and it flies. I would expect it to handle quite a few concurrent users. Dieter
participants (11)
-
Bill Anderson -
Casey Duncan -
chas -
Chris McDonough -
Dieter Maurer -
Lennart Regebro -
Matthew T. Kromer -
seb bacon -
Toby Dickenson -
Toby Dickenson -
Tom Nixon