At 09:28 PM 2/25/00 -0800, Dave Goodrich wrote:
I believe Zope can do what we need. We plan to use the server to serve up approx 200 pages, pull downs and trees will be populated with query results, pages will be personalized, all the general web app stuff. The server must be able to support upto 40k requests per day. All content will come from the SQL server (we are looking at Sybase and Oracle I'm open to suggestions). SQL will be the heavy lifter using compiled in functions for queriying tables with well over 100k records. I like the SQL connectors in Zope, they are easy to use and customize. Basicly Zope must just maintain sessions, render charts from SQL results, and populate the page with data on request.
My question is this, has anyone built a web app in Zope this large?
An app I wrote w/ZPublisher, DTML, and Sybase is handling (very complex) queries against tables with up to 2 million records currently, and serving probably ~80K hits per day, spread across two 270Mhz dual-CPU SGI O200 application servers. (The database server is a seperate, Cray-linked pair of similar machines.) The app server machines also handle a significant volume of mail, destined for the application or being sent out from it (~1 million messages/year), several LDAP server processes, and a host of utility crons. We have 700+ employee logins, hundreds of whom are usually logged in at the same time, all day long, using it as the primary application of their job, spread across over half a dozen timezones, with smaller groups on non-daytime shifts. Downtime, accordingly, has to be minimal. My app is not in Zope, per se, since it does not use ZODB even to store its application code. However, it was originally written in Principia (Zope's predecessor) and then ported to a simple engine I wrote to let directories and files emulate folders and DTML methods. I did this because Principia was not multithreaded, and I needed multiple processes/processors to support the volume. Nowadays, with Zope, it would probably be quite possible/practical to run my app within it, although the port back would be a killer because of the divergent evolution of my own framework and Zope over the years. I am, however, planning to develop a new (and considerably more demanding) application directly in Zope.