Degrading performance with redirects?
Hi, We're experiencing a problem with a Zope based site that serves most of its content via redirects, the new location based on results from a PostgreSQL database. The weird thing is that the Zope site becomes very slow after a week or two, which is fixed by restarting Zope. It doesn't seem to be a memory problem (512MB free out of 768MB total) or a load problem (server is 99% idle most of the time). Zope has about 5 Gigabytes of storage available, running on Red Hat Linux 7.1. The homepage is served by a redirect: <dtml-call "RESPONSE.setHeader('content-type', 'text/html')"> <dtml-call "RESPONSE.redirect('nl/another.page')"> The rest of the site is basic DTML, building tables based on results from the database with a few if's here and there. Could it be that the '.' in the redirect causes problems? Or the setHeader? Any ideas? Thanks! Jonathan -- UR Communications - Solutions For Wired Professionals Learn more about our services @ http://www.ur.nl/
Jonathan \(Listserv\) writes:
We're experiencing a problem with a Zope based site that serves most of its content via redirects, the new location based on results from a PostgreSQL database.
The weird thing is that the Zope site becomes very slow after a week or two, which is fixed by restarting Zope. It doesn't seem to be a memory problem (512MB free out of 768MB total) or a load problem (server is 99% idle most of the time). Zope has about 5 Gigabytes of storage available, running on Red Hat Linux 7.1.
The homepage is served by a redirect:
<dtml-call "RESPONSE.setHeader('content-type', 'text/html')"> <dtml-call "RESPONSE.redirect('nl/another.page')">
The rest of the site is basic DTML, building tables based on results from the database with a few if's here and there. Strange!
... because a redirect is just a normal response with a specific HTTP response code and a location header. Nothing special at all. Sure, you problem is not the redirect. Unfortunately, I do not know what it is... Dieter
[Dieter Maurer]
Jonathan \(Listserv\) writes:
We're experiencing a problem with a Zope based site that serves most of its content via redirects, the new location based on results from a PostgreSQL database.
The weird thing is that the Zope site becomes very slow after a week or two, which is fixed by restarting Zope. It doesn't seem to be a memory problem (512MB free out of 768MB total) or a load problem (server is 99% idle most of the time). Zope has about 5 Gigabytes of storage available, running on Red Hat Linux 7.1.
The homepage is served by a redirect:
<dtml-call "RESPONSE.setHeader('content-type', 'text/html')"> <dtml-call "RESPONSE.redirect('nl/another.page')">
The rest of the site is basic DTML, building tables based on results from the database with a few if's here and there. Strange!
... because a redirect is just a normal response with a specific HTTP response code and a location header. Nothing special at all.
Sure, you problem is not the redirect.
Unfortunately, I do not know what it is...
Didn't someone track this down somewhat recently (sorry, I forget who)? Seems to me that the someone found that this behavior was related to threads that get stuck trying to get a non-existent response somehow. Since you can't kill off a thread that's blocking on a socket, you could get clogged with stuck threads. Should be able to find it, it must have been within the last month on this list. The right log reports supported this, as I remember. But why all the stuck connections, well... Cheers, Tom P
At 11:50 03/12/2001 +0100, Jonathan \(Listserv\) wrote:
Hi,
We're experiencing a problem with a Zope based site that serves most of its content via redirects, the new location based on results from a PostgreSQL database.
The weird thing is that the Zope site becomes very slow after a week or two, which is fixed by restarting Zope. It doesn't seem to be a memory problem (512MB free out of 768MB total) or a load problem (server is 99% idle most of the time). Zope has about 5 Gigabytes of storage available, running on Red Hat Linux 7.1.
The homepage is served by a redirect:
<dtml-call "RESPONSE.setHeader('content-type', 'text/html')">
It's probably completely irrelevant but why the setHeader for the Content-type. If this is a straight redirect to another URL then there is no entity in the response body to identify the type of. Maybe removing this extraneous operation could make a difference.
<dtml-call "RESPONSE.redirect('nl/another.page')">
The rest of the site is basic DTML, building tables based on results from the database with a few if's here and there.
Could it be that the '.' in the redirect causes problems? Or the setHeader?
Any ideas? Thanks!
Jonathan
-- UR Communications - Solutions For Wired Professionals Learn more about our services @ http://www.ur.nl/
participants (4)
-
Dieter Maurer -
Jonathan (Listserv) -
Richard Barrett -
Thomas B. Passin