RE: [Zope] Performance requirements and ZEO
Hey Bart, Here are some more recent benchmarks: http://zopeedge.com/benchmarks You can see that an 867 Mhz PIII box with 128 MB of Ram was still pulling 88 requests per second (over 7,500,000 requests a day) on a dynamic page. BZ
BZ,
Thanks a bunch for the speedy reply. The machine I was looking at has a RAID5 controller with 3 Ultra320 SCSI 10,000 RPM 36GB drives, 2 GB RAM, and 2 processors. From what I've read, I'm starting to think maybe I should be getting a fast single-processor machine with more memory, instead of spending that money on two or three machines.
Thank you for your help.
-bart
-----Original Message----- From: BZ [mailto:bz@bwanazulia.com] Sent: Thursday, July 31, 2003 5:24 PM To: bart hubbard Cc: zope@zope.org Subject: Re: [Zope] Performance requirements and ZEO
Bart....
I run 2/3 major sites that brings my zope up to about 100,000 hits a day and I can tell you you are going to have a lot of capacity.
My set up: - 1.67 AMD - 1.5 GB DDR Ram - 2 x 36 GB SCSI in Raid - Tape backup, etc...
I store everything in the ZODB (images, js, css) which totals 59,702 objects. The zope process is fine, it peaks up and down but there are also other sites (minor) running on Apache and mail server running on the machine (also logs, tools, etc etc..). I would say the machine runs at about 3-4% of capacity. I could easily bring this box up to 1,000,000 hits a day without worrying about expanding.
Here is some suggestions: - Get lots of RAM. Zope (python) loves RAM (and RAM cache helps) - Up your zope threads (I run at 10) and cache size (10,000) - Get SCSI & RAID (7,200 - 10,000 RPM). Since Zope reads its ZODB from the drive you want this to be fast and reliable.
I think you could easily start with one box and migrate up. If you are planning on a dual, look into Python and SMP. I remember reading it was not great, so what you could do is run two instances (your ZEOs) one on each processor.
Cheers, BZ
I'm working on a project to build a public website using Zope, and am in a position where I need to spec and order the hardware before beginning the work on the site. We're going to plan for 500,000 hits/day as a benchmark. I'm leaning towards a ZEO configuration, with a dedicated ZEO Storage Server and 2 ZEO Client machines, with a load-balancer up front. This way, the worst case is the performance isn't up to par, and I can just toss another machine at it as a ZEO Client.
Here's the question: is there any benefit to having dual-processor machines on any of these? I think we can afford 3 of them, if necessary, but is it even needed? I was planning on going with Dual-Xeon 2.8 GHz boxes running Linux. I'd rather not run more than one instance of Zope on the clients, btw.
Also, I'm having trouble finding info on getting SSL working in a ZEO setup. Are there any docs out there I should read?
much thanks, bart
_______________________________________________ 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
Thank you to all of you who read my original post, and gave me all that great feedback. After futher testing with JMeter on our development server, I'm recommending to our IT department to budget for 3 machines *just in case*, but to only purchase one right now. So we'll roll out with a single Zope server, and prepare for the possibility of moving to a ZEO setup in the future, if needed. If you're curious, the single server we're going with is the Compaq(HP) Proliant DL380, with a single 2.8 GHz Xeon, 2 GB RAM, 3x 10K RPM Ultra320 SCSI 38 GB drives (RAID 5), etc. I feel pretty confident that we should be able to handle 500,000 hits/day, now. When we get to deployment, I'll be sure to report back with our performance benchmarking results (around November). Thanks again, bart
I'm creating a component that has a set of ZClasses representing different types of custom content, and for a couple of the types, I want them to have not just standard properties, but associated images. For example, a Medical Article that has a small image for use at the top of the article's front page. For this class, I've subclassed my custom MedicalContent class, CatalogPathAwareBase, and also ObjectManager. I was thinking that an instance of this class would actually contain the associated image. I've customized the AddForm for this class, but haven't tried to tackle how to get that image into it. I don't want to rely on the users to have to view objects of this type like a folder, and then add images willy-nilly. Anyway - any thoughts on what I'm doing? Is this a crazy approach? If not, I'd appreciate pointers to example code for creating forms that allow uploading Images (Files, etc.) in Zope. I tried downloading an example product from Zope.org for an Ad Banner product, but the tgz is corrupted... Much thanks, bart
Bart Hubbard wrote at 2003-8-15 11:57 -0400:
... For this class, I've subclassed my custom MedicalContent class, CatalogPathAwareBase, and also ObjectManager.
Very fine!
I was thinking that an instance of this class would actually contain the associated image. I've customized the AddForm for this class, but haven't tried to tackle how to get that image into it. I don't want to rely on the users to have to view objects of this type like a folder, and then add images willy-nilly.
Thus, you must provide your own interface to manage the image. You find the available methods for image management in "OFS.Image.Image" (and its base class "OFS.Image.File"). Creation of an image in an ObjectManager "om" looks like: om.manage_addProducts['OFSP'].manage_addImage(id,file,...) You find "manage_addImage" in "OFS/Image.py" (to learn about additional arguments). Dieter
participants (3)
-
Bart Hubbard -
BZ -
Dieter Maurer