2011-02-07 52 views
2

我有一个关于启用Drupal模块的数量对apache进程的影响的问题。我们正在运行一个包含大约200个自定义模块的大型drupal站点。Drupal模块VS apache进程的大小

我看到apache进程的平均大小是48MB,现在我想知道如果减少模块的数量会减少进程的大小。通过减少模块的数量我的意思是我将它们中的一些合并在一起,所以函数和回调等的数量将是相同的,只是更少的模块,而不是将它们分割成不同的模块(我这样做了代码维护更容易)我会有很多模块合并成几个。

会有帮助吗?我想知道你在重构我的代码之前要说些什么...;)

回答

1

假设你已经安装了它,查看APC统计信息(将apc.php从安装位置复制到受保护位置你的DOCROOT)可能会给你一个大概的想法,或者至少是一个真正的记忆猪的起点。

我会把它留给别人来评论组合文件是否会有任何实际效果。我从来没有真正描述过这一点,但我怀疑它会做很多。我的直觉告诉我,禁用未使用的内核和contrib模块将是最大的内存节省。

您可能还想玩apache MaxMemFree配置选项来查看您的48MB是否是一个常量,或者由于周期性内存膨胀(如处理大量上载),您的apache进程很大。

2

我怀疑将多个模块组合在一起会产生一些差异,但不是很多。有一点可能会带来更多不同之处,那就是将/ admin菜单选项分隔为单独的.admin.inc文件。我的理解是,只有当用户访问网站的管理端时才会加载它们。

另外,查看您在网站上安装的模块,并禁用并卸载您实际上不需要的任何内容。例如,禁用核心颜色和注释模块(在Drupal 6中默认启用),如果你不使用它们。如果您拥有Views UI,Beautytips UI,ImageCache UI或规则管理UI等模块,请在完成所有配置后禁用它们。

+0

我已经禁用颜色,SOAP客户端(我不需要它了)和分类法,这使得Apache进程大小下降6MB :)现在我想知道关于帮助模块,我不知道它是什么,任何对此的快速解释? – Julien 2011-02-08 09:35:43

0

某些模块比其他模块更具记忆性。尝试禁用它们中的一部分并检查结果(即使有一个破损的网站,只是为了检查)。

如果使用查看(有机会,你使用它)尝试设置可见性设置在一个非常严格的方式每块,浏览吃的每一个“看得见”块大量的内存,所以不要不仅仅依靠模块代码来清空块,通过处理可见性设置来节省您的生命。