OT: why are LAMP sites slow?
Al Dykes
adykes at panix.com
Fri Feb 4 09:20:39 EST 2005
In article <mailman.1859.1107481066.22381.python-list at python.org>,
Dave Brueck <dave at pythonapocrypha.com> wrote:
>Paul Rubin wrote:
>> How would you go about building such a site? Is LAMP really the right
>> approach?
>
>Two major problems I've noticed, don't know if they are universal, but they sure
>hurt the performance:
>
>1) Some sites have not put any thought into caching - i.e. the application
>server is serving up images or every single page is dynamically generated even
>though all (or most) of it is static such that most of the requests just aren't
>cacheable.
>
>2) Because a database is there, it gets used, even when it shouldn't, and it
>often gets used poorly - bad or no connection pooling, many trips to the
>database for each page generated, no table indices, bizarro database schemas.
>
>Overall I'd say my first guess is that too much is being generated on the fly,
>often because it's just easier not to worry about cacheability, but a good web
>cache can provide orders of magnitude improvement in performance, so it's worth
>some extra thought.
>
>One project we had involved the users navigating through a big set of data,
>narrowing down the set by making choices about different variables. At any point
>it would display the choices that had been made, the remaining choices, and the
>top few hits in the data set. We initially thought all the pages would have to
>be dynamically generated, but then we realized that each page really represented
>a distinct and finite state, so we went ahead and built the site with Zope +
>Postgres, but made it so that the URLs were input to Zope and told what state to
>generate.
>
>The upshot of all this is that we then just ran a web spider against Zope any
>time the data changed (once a week or so), and so the site ended up "feeling"
>pretty dynamic to a user but pretty much everything came straight out of a cache.
>
>-Dave
A couple years ago the Tomshardware.com website was reengeneered to
cache everything possible with great performance improvement. They wrote
a nice article about the project, which I assume is still online. I don't
--
a d y k e s @ p a n i x . c o m
Don't blame me. I voted for Gore.
More information about the Python-list
mailing list