from the you-gotta-be-kidding <SMIRK> dept.
Two items: First, I've finally submitted a patch for my article-thread-tree page (see a demonstration) and related links to the Squishdot SourceForge forum; see here for details.
...I was wondering about Squishdot's performance in general. A few days ago I was benchmarking Zope with ab (a rudimentary benchmarking tool which comes with Apache) and saw that my 200MHz Pentium was only able to handle 0.79 requests / second if Zope spawns six HTTP handler threads. On this server, Zope sits behind Apache (a horrible ProxyPass/SiteRoot mess); benchmarking Zope through Apache yielded nearly identical results.
Only then did I notice that Squishdot pages were not being cached in Apache's proxy cache, due to the pages' lack of Last-Modified and Expires headers. Upon adding a rudimentary Last-Modified calculation heuristic to posting_html as well as an arbitrarily defined fifteen minute expiration time, Apache began caching postings and a retest improved speed to 80 requests / second!
So now I'm wondering--although there are a few pages which should NEVER have Last-Modified/Expires headers (previewPosting, searchResults and index_html (at least on thibsdot) come to mind), which pages should have those headers? Currently, some pages like posting_html, searchForm and tree.html ave Last-Modified and Expires headers attached so that Apache's proxy cache will take care of those requests.
I think that such a configuration correctly speeds up thibsdot by caching pages which don't change frequently yet never sends users stale pages (or worse, incorrect pages!), however I'm wondering if anybody else has developed any similar Squishdot modifications or feels like commenting on what I've done. Anybody?
A few details: Expires is arbitrarily set. Most pages expire after one hour. posting_html generated documents expire after two hours unless they have been modified in the past two weeks, in which case they expire after five minutes. In posting_html, Last-Modified is set to the most recent modification time of the article and all comments; in index_html, L-M is set to the most recent modification time of the n articles which appear on the page.
And then there's the issue of HTTP/1.1 friendliness...<grin> Oh, and another thing--on a PIII-800 with 128MB of RAM, thibsdot can process ~9 requests / sec without the cache and ~714 requests / sec with the cache. On a side note, thibsdot uses a table scheme much simpler than the default Slashdot emulation to lay out pages which results in faster rendering both on Zope's side and the browser's side.
< | >
|"Any system that depends on reliability is unreliable." -- Nogg's Postulate|
|All trademarks and copyrights on this page are
owned by their respective companies.
Comments are owned by the Poster.
The Rest ©1999
Butch Landingin, ©2000-2002