Hi; I want to call parts of the "pages" Zope serves from a MySQL database. My programmer tells me there would be a performance hit. I have a hard time understanding why (or if there is, I think it would be small). After all, Zope itself calls everything from a database (ZODB) and all of this activity would be server-side. There will be nothing complicated in the call: four simultaneous calls per page served. Is this problematic? TIA, beno
There would be performance issues indeed, and it would be come more pronounced with greater amounts of traffic to you website. Also if your database server and web server are on seperate machines, if you website received a high amount of traffic, your local network would slow from the extra traffic. beno wrote:
Hi; I want to call parts of the "pages" Zope serves from a MySQL database. My programmer tells me there would be a performance hit. I have a hard time understanding why (or if there is, I think it would be small). After all, Zope itself calls everything from a database (ZODB) and all of this activity would be server-side. There will be nothing complicated in the call: four simultaneous calls per page served. Is this problematic? TIA, beno
_______________________________________________ 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 )
-- "When two men in business always agree, one of them is unneccessary." --William Wrigley Jr. Jason Bush | (402) 471-6517 | jason@nol.org | http://www.nol.org
Here our MySQL database is on a separate server than our Apache and Zope servers we serve 100's of thousands of requests per day, if we were to serve parts of our content from MySQL there would definitely be a noticeable hit to our request times. Now if we are just talking about a 10 page website that serves 100 or so requests per day you probably wouldn't notice at all. It is all dependent on the amount of data, and the amount of traffic, I went with the worst case point of view, large amounts of content served from a remote database, with high traffic, as opposed to serving static content from the webserver. We have about 60 sites that use our Zope server, two fairly large sites, and we experience slow response times just serving from the ZODB. When one of the agencies puts out a document for the public and it gets hit hard, we notice it. Granted it doesn't DoS us, and we are able to work normally, there is a definite slow down in network traffic. Chris Withers wrote:
Jason Bush wrote:
There would be performance issues indeed, and it would be come more pronounced with greater amounts of traffic to you website.
What information are you basing this on?
Chris
-- "When two men in business always agree, one of them is unneccessary." --William Wrigley Jr. Jason Bush | (402) 471-6517 | jason@nol.org | http://www.nol.org
Thanks. I am of the opinion that adding a Squid server for this non-dynamic content would solve almost all problems. Your thoughts? beno At 09:18 AM 9/5/2003 -0500, you wrote:
Here our MySQL database is on a separate server than our Apache and Zope servers we serve 100's of thousands of requests per day, if we were to serve parts of our content from MySQL there would definitely be a noticeable hit to our request times.
Now if we are just talking about a 10 page website that serves 100 or so requests per day you probably wouldn't notice at all. It is all dependent on the amount of data, and the amount of traffic, I went with the worst case point of view, large amounts of content served from a remote database, with high traffic, as opposed to serving static content from the webserver.
We have about 60 sites that use our Zope server, two fairly large sites, and we experience slow response times just serving from the ZODB. When one of the agencies puts out a document for the public and it gets hit hard, we notice it. Granted it doesn't DoS us, and we are able to work normally, there is a definite slow down in network traffic.
Chris Withers wrote:
Jason Bush wrote:
There would be performance issues indeed, and it would be come more pronounced with greater amounts of traffic to you website.
What information are you basing this on?
Chris
-- "When two men in business always agree, one of them is unneccessary." --William Wrigley Jr. Jason Bush | (402) 471-6517 | jason@nol.org | http://www.nol.org
_______________________________________________ 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 )
I think as Dieter stated any form of cacheing will enhance your performance, It seems that most of the people tend to disagree with mine and your programmers oppinion. And it may be the case that your system will perform well in this situation. Also sorry for the delayed reply, I finally got some vacation time in this year (Yay me!) beno wrote:
Thanks. I am of the opinion that adding a Squid server for this non-dynamic content would solve almost all problems. Your thoughts? beno
At 09:18 AM 9/5/2003 -0500, you wrote:
Here our MySQL database is on a separate server than our Apache and Zope servers we serve 100's of thousands of requests per day, if we were to serve parts of our content from MySQL there would definitely be a noticeable hit to our request times.
Now if we are just talking about a 10 page website that serves 100 or so requests per day you probably wouldn't notice at all. It is all dependent on the amount of data, and the amount of traffic, I went with the worst case point of view, large amounts of content served from a remote database, with high traffic, as opposed to serving static content from the webserver.
We have about 60 sites that use our Zope server, two fairly large sites, and we experience slow response times just serving from the ZODB. When one of the agencies puts out a document for the public and it gets hit hard, we notice it. Granted it doesn't DoS us, and we are able to work normally, there is a definite slow down in network traffic.
Chris Withers wrote:
Jason Bush wrote:
There would be performance issues indeed, and it would be come more pronounced with greater amounts of traffic to you website.
What information are you basing this on?
Chris
-- "When two men in business always agree, one of them is unneccessary." --William Wrigley Jr. Jason Bush | (402) 471-6517 | jason@nol.org | http://www.nol.org
_______________________________________________ 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 )
-- "When two men in business always agree, one of them is unneccessary." --William Wrigley Jr. Jason Bush | (402) 471-6517 | jason@nol.org | http://www.nol.org
Squid would help cache static content but not really on the backend database. I think Dieter was talking about ZSQL caching and RAM Caching within Zope both which will save you a lot of SQL calls. It has been awhile since I built a Zope website with a SQL backend, but from what I remember, going through each one of my ZSQL methods and figuring out how often they needed to be updated and caching them for that specific period of time greatly helped in performance. For some things, since the SQL database is more a read, you can cache results for 10 mins up to 24 hours. BZ
Thanks. I am of the opinion that adding a Squid server for this non-dynamic content would solve almost all problems. Your thoughts? beno
At 09:18 AM 9/5/2003 -0500, you wrote:
Here our MySQL database is on a separate server than our Apache and Zope servers we serve 100's of thousands of requests per day, if we were to serve parts of our content from MySQL there would definitely be a noticeable hit to our request times.
Now if we are just talking about a 10 page website that serves 100 or so requests per day you probably wouldn't notice at all. It is all dependent on the amount of data, and the amount of traffic, I went with the worst case point of view, large amounts of content served from a remote database, with high traffic, as opposed to serving static content from the webserver.
We have about 60 sites that use our Zope server, two fairly large sites, and we experience slow response times just serving from the ZODB. When one of the agencies puts out a document for the public and it gets hit hard, we notice it. Granted it doesn't DoS us, and we are able to work normally, there is a definite slow down in network traffic.
Chris Withers wrote:
Jason Bush wrote:
There would be performance issues indeed, and it would be come more pronounced with greater amounts of traffic to you website.
What information are you basing this on?
Chris
-- "When two men in business always agree, one of them is unneccessary." --William Wrigley Jr. Jason Bush | (402) 471-6517 | jason@nol.org | http://www.nol.org
_______________________________________________ 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 )
_______________________________________________ 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 )
No they are on a single instance of zope, on a Sun Solaris machine Chris Withers wrote:
Jason Bush wrote:
We have about 60 sites that use our Zope server,
Do the yeach have their own Zope instance? What kind of machine is this one?
cheers,
Chris
-- "When two men in business always agree, one of them is unneccessary." --William Wrigley Jr. Jason Bush | (402) 471-6517 | jason@nol.org | http://www.nol.org
beno wrote at 2003-9-5 07:15 -0400:
I want to call parts of the "pages" Zope serves from a MySQL database. My programmer tells me there would be a performance hit.
We do that regularly (using both MySQL and Postgres). In our architecture (Zope on fast modern Linux frontend, database on slow solaris backend servers), a standard database request takes between 2 and 10 ms. Thus, database access is not without costs but it does not cost much. You can use (the various forms of) caching to reduce these costs further... Dieter
participants (6)
-
beno -
BZ -
Chris Withers -
Dieter Maurer -
Jason Bush -
Kevin Carlson