Paul Rubin said the following on 2/3/2005 7:20 PM:
LAMP = Linux/Apache/MySQL/P{ython,erl,HP}.  Refers to the general
class of database-backed web sites built using those components.  This
being c.l.py, if you want, you can limit your interest to the case the
P stands for Python.

I notice that lots of the medium-largish sites (from hobbyist BBS's to
sites like Slashdot, Wikipedia, etc.)  built using this approach are
painfully slow even using seriously powerful server hardware.  Yet
compared to a really large site like Ebay or Hotmail (to say nothing
of Google), the traffic levels on those sites is just chickenfeed.


If you are talking about Wikipedia as a prime example, I agree with you that it is *painfully* slow.


And the reason for that I probably because of the way the language is used (PHP) (this is a shot in the dark as I have not looked into Mediawiki code), and compounded by probably an unoptimized database. I don't want to start flame wars here about PHP; I use PHP to build client sites and like it for the "easy building of dynamic sites" but the downside is that there is no "memory"...every page is compiled each time a request is made. I doubt if Wikipedia site uses an optimizer (like Zend) or caching mechanisms. Optimizers and/or PHP caches make a huge performance difference.

Also, PHP has put dynamic sites within easy reach of several programmers who slap together sites in no time. These sites may have spaghetti code and even the best infrastructure is not enough to support shabby design (code, db setup and even server tuning). I have seen people become programmers overnight! There are also LAMP sites that use Apache 1.3 that is a resource hog; I guess production sites do not want to upgrade to Apache 2.x/PHP combo!

Coming to python, to be honest, I have not seen many LAMPy sites. I use blogspot.com frequently and it is pretty reliable; I hear that it is written in Python but I have no idea about the server and database software.

The way to go is to build around application servers, IMHO. I like the Twisted.web/Nevow methodology, though for simple situations it may be an overkill. I like the Webware with Apache-thru-Webware-Adapter setup - that is what I am considering implementing for my organization. (Even in the App Server arena, I have seen Websphere with JSP/Servelets sites to be soooo slow that I could finish my breakfast and still wait for the page)

From my experience it is an overall tuning thing. Usual culprits are untuned Linux boxes, unoptimized database design, poorly designed queries and/or poor application logic...and ah! table-driven pages. Pages built on tables for the layout kill the browser. CSS is the way to go.

Thanks,
-Kartic
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to