On Nov 30, 2007 2:17 PM, Mike Cantelon <m_cantelon@straight.com> wrote:
Khalid Baheyeldin wrote:
(Changing the subject)
I regularly see 80+ to 110+, and that causes Apache to eat 100MB per process, which is really not good ...
This is the open buffet binge syndrome detailed here:
http://2bits.com/articles/server-indigestion-the-drupal-contributed-modules-...
Great article... Has anyone figured out what parts of the module architecture are most expensive memory-wise so they can be examined?
Yes. a) The include_once() part is the most expensive. That is common for all modules, and the more you have the more you suffer (but there are solutions). b) Creating large associative arrays (e.g. the way we handled URL aliases before 4.7). c) Doing a lot of things over the network (e.g. subscriptions module and Google Sitemap module with certain settings. One emails people, the other pings Google). d) Lack of an op-code cache/accelerator. e) Excessive SQL queries, either number of queries or heavy ones. (Just saw a site with 11,400 queries per page. Ended up being badly written PHP code pasted in a block that loads on every page). For a) I am writing an article with more details on the include_once part over the weekend (if not sooner). For c) and d) there is an article or two on 2bits, one with the exact settings that causes slowness. -- Khalid M. Baheyeldin 2bits.com http://2bits.com Drupal optimization, development, customization and consulting.