在Drupal 7中缓存 -- 7 领域 和 caching 领域 drupal 相关 的问题

Caching in Drupal 7


2
vote

问题

中文

如何在我对我的主题感到满意的时候设置我的drupal web以获得更好的性能,并且不会做很多新主题调整?
这些设置可能是 admin/config/development/performance

谢谢

英文原文

How should I set my Drupal web for better performance when I'm already satisfied with my theme and won't do many new theme adjustments?
The settings is probably in admin/config/development/performance

thank you

     

回答列表

1
 
vote

如果您未预测在不久的将来的重要主题更改,则可以很好地扩展资产文件的高速缓存,如CSS和图像文件到多个小时。您可以通过到期规则在.htaccess中。

为了获得最佳效率,我建议安装一个 argnish 代理缓存,该缓存在端口80上接受请求将它们转发到Apache(在另一个端口上运行,说81)。然后清漆将缓存并传递您的资产文件多个小时,从而大量减少了Web服务器的负载。安装和配置Varnish和Apache后,访问"性能" 页面,还要激活页面的外部缓存,并将页面缓存生命周期设置为您认为明智的值。

通过我们的Drupal托管包中的rancish,我们已经看到了页面交付时间和服务器负载的巨大改进。

 

If you don't anticipate important theme changes in the near future, you can well extend the cache expire time of your asset files like CSS and image files to multiple hours. You can do this via Expire rules in .htaccess.

For optimal efficiency, I'd recommend installing a Varnish proxy cache that accepts requests on port 80 and forwards them to Apache (running on another port, say 81). Varnish will then cache and deliver your asset files for multiple hours, thus reducing the load of the web server heavily. After installing and configuring Varnish and Apache, visit the performance page to also activate external caching of pages and set the page cache lifetime to a value you deem sensible.

We've seen huge improvements in page delivery time and server load by including Varnish in our Drupal hosting packages.

 
 
0
 
vote

您可以将默认的Drupal缓存机制交换为MEMCACHED实现,也可以尝试使用NGINX而不是Apache。

感知页面负载也受到您网页加载的Ressources的顺序的影响。 例如: 如果浏览器加载页面,它将从上到下开始。 CSS加载非阻塞,这意味着浏览器不必在加载和执行CSS时等待。但是,JavaScript正在阻止,浏览器必须逐个加载和执行每个JavaScript文件。因此,建议将不会在页面底部触发的onload事件(在关闭标签之前)之前将不会与页面交互的大型JavaScript文件。

 

You can swap out the default drupal caching mechanism for a memcached Implementation, also you could try using a nginx instead of an apache.

The perceived page load is also affected by the order in which the ressources on your page load. For example: If the Browser loads a page, it starts from top to bottom. CSS loads non blocking, which means that the browser does not have to wait while loading and executing the CSS. Javascript however is blocking, the browser has to load and execute every Javascript file one by one. Because of this it is recommended to put large javascript files which do not interact with the page before the onload Event is fired in the bottom of the page (right before the closing tag).

 
 

相关问题

1  如何创建自定义令牌? [复制]  ( How do i create custom tokens ) 
这个问题已经在这里有答案: 关闭 9年前。 可能的重复: 以编程方式创建一个令牌 如何创建自定义令牌?此外,是否可以将令牌附加到回调函数?例如:如果我的字符串是'这是我的[名称]',我可以以...

1  如何输出大量HTML标记  ( How to output a large amount of html markup ) 
我需要从自定义模块中输出页面的整个区域。 我知道我可以用以下代码输出标记: $page['region'] = array( '#type' => 'markup', '#markup' => t('markup here'), ); 这对少量标记有益,但有没有更好的方法来从我的模块内输出大...

3  上传到Web-Server时的页面以外的页面错误的404错误  ( 404 errors for pages other than homepage when uploaded to web server ) 
我和新的php,我开始用drupal开始,这是我的演示网站 http://sugandha.net63。 net / 我的设置如下: $databases = array ( 'default' => array ( 'default' => array ( 'datab...

1  具有自定义参数的页面  ( A page with custom parameters ) 
我有一个页面要做这个: Boats/ Boats/Veterans Boats/Nine Boats/Used 其中['退伍军人','nine','使用']将是传递到网址的参数! 我想使用我的页面自定义 页面 - boats.tpl.php 这是一个页面主题。目前,我有一个白页。 我该怎么办? ...

1  Drupal 7 WEBForm设置:如何更改按钮中的默认文本“下一页”?  ( Drupal 7 webform settings how to change the default text in button next page ) 
我已经使用drupal 7创建了一个webform,其中两个页面与"pagebreak" 字段,但是当我进入MySite WebForm并在页面底部查看WebForm时,有一个按钮"下一页" :我必须更改此按钮中的文本......也可能在简单文本"下一页" 的地方设置图像。 谢谢! ...

5  如何双向链接两个来自不同内容类型的节点?  ( How to bi directional link two nodes from different content type ) 
你好,我是新的去德鲁佩尔。我很长时间和一些WordPress使用Joomla。 我想链接2个或更多节点双向。这意味着,如果我将a链接到b,则B必须也链接到。 我会给你一个简单的例子: 让我们说我想制作歌词网站。我将有2种内容类型。 1)艺术家/乐队 2)歌曲歌词 艺术家/乐队类型将有有关艺术家的信息,也可以...

4  为面板页面设置语言  ( Set language for a panel page ) 
如何在面板页面创建多个翻译?我的主页采用面板设计,我有英语和西班牙语内容。对于节点,一切都很好,但我无法弄清楚如何用面板做多种语言。 ...

6  Devel KPR,DPR,DPM等仅在缓存冲洗后打印  ( Devel kpr dpr dpm etc only print after cache flush ) 
我正在编写一个小模块并使用 devel 打印功能(DPR,KPR,DPM等)打印出一些值。 但是,我在刷新某些缓存后,我只能看到页面中的值。如果我只是重新加载页面或转到它,我什么都不看。这对于消息区域和常规调试打印功能是如此。这是预期的吗? 我已登录为admin,以便我认为普通页面缓存已关闭。 (这是d7。) ...

2  在按下按钮时,如何制作(CCK)字段的内容?  ( How to make content of a cck field visible when pressing a button ) 
我正在处理一个Drupal 7网站,我想创建一个特定(CCK)文本字段仅在按下按钮后显示的节点。 我想实现的效果是完全相同的你可以在职业生涯中找到2.0网站,在每个职位帖子的最后,有一个标题为"了解如何申请" 的按钮。单击此按钮时,"如何应用指令" 。要查看它的工作原理,您可以检查 http://职业生涯。 stac...

0  防止用户身份1编辑  ( Prevent user with id 1 edit ) 
我想防止管理站点(用户ID 2)用ID 1删除或更改密码用户,尽管我需要管理添加用户并编辑其他用户。 怎么办? ...

3  如何在具有公开过滤器的视图上显示所有记录  ( How to display all records by default on a view with exposed filters ) 
我已经托管(经过大量的斗争)来创建一个有四个暴露过滤器的视图(所有过滤器都是分类字段)。我的问题是,现在默认情况下,只有选择页面加载和数据时,才会向用户呈现给用户的问题。我正在尝试实现确切的对面:呈现所有数据,然后相应地过滤。我该怎么做? ...

1  如何在不同视图中为视频播放器选择不同的尺寸(视图和视频模块)  ( How to choose different dimensions for the video player in different views view ) 
我已经创建了一个带有视频的新内容类型。对于我选择的内容作为默认分辨率640 * 360。现在我需要使用视图模块创建网格,我希望能够选择不同(更小)的分辨率。 如何这样做?我是否需要以编程方式执行此操作,或者我可以通过界面进行这一点吗? ...

2  如何仅显示查找内容(管理)页面中用户创建的内容  ( How to show only content created by the user in the find content administrative ) 
我有一些允许创建内容的用户。在管理界面中,他们实际上看到了站点中所有内容列表,但仅编辑/删除它们创建的内容。是否有可能在此页面中仅显示他们创建的内容,并且不显示其他用户创建的内容? ...

5  Drupal 7 views 3上下文过滤器 - 预览按预期工作,实际页面不是,为什么?  ( Drupal 7 views 3 contextual filter preview works as expected the actual page ) 
背景: drupal 7.2,视图7.x-3.0-rc1 我有一个用单个上下文过滤器,'用户:全名'的视图。 ('User:全名'是添加到用户的字段,存储用户的全名,如"彼得杰克逊初" 。)在此过滤器的设置中,在"更多" ,"路径中" 的情况设置为"较低的'和"将空格转换为url" 中的破折号,因为路径的格式...

2  jquery进入drupal 7  ( Jquery into drupal 7 ) 
我正在尝试这个: http://jsfiddle.net/sghj5/ 在Drupal 7. 出于某种原因,当我将其粘贴到我的前面时 - Page.tpl(页脚)它不起作用。 我还尝试在我的template.php中包括js文件。 ...

12  我如何一次上传多个图像?  ( How can i upload multiple images all at once ) 
有没有办法在Drupal 7中同时上传多个图像? ...

4  D7中的个人资料字段?  ( Profile fields in d7 ) 
如何在Drupal 7中为用户添加字段,以便,名称和姓氏?我看到配置文件已弃用,在不使用内容配置文件的情况下有一种简单的方法? ...

3  从复选框获取变量  ( Get variables from checkboxes ) 
我正在创建我的第一个Drupal模块(Drupal 7,BTW),我几乎已经完成了它。有一个最后一件事,也就是说,我需要从多个复选框中获取值。 我的模块列出某些节点,每个节点都使用foreach $ nid获取复选框。所有使用表单API。 现在,当表单被提交时,只返回一个(1)个值 - as现在,甚至没有我检查的那...

2  Ajax表单提交后调用JavaScript函数  ( Call javascript function after ajax form submit ) 
如何在成功的Ajax表单提交后调用JavaScript函数?我想在我用 drupal_add_js() my_form_name_form($form, &$form_state) 中添加 998887661 的文件中调用函数。 ...

2  如何在表单中生成的值将函数提交到另一个函数?  ( How to pass value generated in the form submit function to another function ) 
我有一个与Drupal 7表格API和模块开发有关的问题。 我有一个非常简单的模块,函数如此。当访问某路径XYZ时,它会被Hook_Menu调用。 function myview_mainpage() { $content .= drupal_render(drupal_get_form('myview_f...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.