我帮助的人与一个Drupal 6安装,它们是由网站的表现很心疼,虽然他们只在确定内容类型的阶段。刚刚加载模块列表可以接管30秒,在导入的内容类型采取接近3分钟。

这是安装了一个大型共享UNIX系统上,和我运行,没有真正的问题在同一台服务器上的其他D6安装(有些缓慢,但没有相当这个坏)。今天下午我花了一些时间禁止所有网站上的非核心模块,并能得到该模块列表页面加载时间降低到5秒。当我重新启用的模块组,似乎是发生的最大性能命中一个是模块的CCK家族(15-20秒提高页面加载时间为模块列表)。

再次我有这个服务器上的其他网站同样运行CCK(和大多数同其他模块),并没有遇到这样的事。主要的区别是,这非常缓慢的网站有一吨的内容类型和CCK字段中定义。 - 46种单独的内容类型,和162个CCK字段

我画一个结论,那就是网站性能之间(至少在具有创建和编辑内容类型做一些操作)和内容类型和自定义字段的数量有直接关系,但我一直没能准确地确定这是什么内容类型和领域的影响,以及是否有什么可以做,以减轻其影响。

我没有安装devel模块,并发现该模块页面上最大的性能消耗是在具有cache_menu做查询,但我不知道这是直接相关的内容类型的数量和/或字段。

任何指导理解!

谢谢, 保罗

有帮助吗?

解决方案

第一关:该模块页面确实是一个邪恶的野兽,因为它完全刷新所有Drupal的内部缓存和重建他们,以确保新安装的模块有最新的数据。这不是网站性能可以很好地预测(因为通常只有特定的管理任务冲洗那些两种缓存),虽然很是烦人。

二:导入的内容类型也刷新这些缓存,因为CCK想确保一切是最新的为好。这是次优的,但你有它。

最后:CCK字段和内容类型你有确实影响时,高速缓存清空,改建多少完成工作的数量。 CCK提取所有有关的所有定义的内容类型和各自领域的信息,建立一个数据结构来描述他们,并使用缓存版本供日后参考。随着数百场和几十内容类型的,数据重建需要较长时间的高速缓存,加剧你的模块在网页上看到的延迟和导入新的内容类型时。

好消息(比如它)是,这个问题不会对网站的整体表现,只是刷新这些缓存的行政行为造成太大影响。

其他提示

这是我的另一个的Drupal问题所作的相同的答案;如果伊顿的回答没有解决您的问题,也许你应该看看Views模块和动态菜单重建。 每次,菜单重建,导致100的或查询,甚至1000年。 根据联接如何制成,可以用两个类似的连接,在同一表,导致加倍的查询数结束。 更多信息可以发现这里

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top