“怎么样能让我的 Drupal 网站更快一些?”是我们最常遇到的一个问题。站点速度确实非常重要,因为它会影响你的 SEO排名效果、访客是否停留以及你自己管理网站所需要的时间。

  今天我们就来看看那些通过 Drupal 自带界面便能够实现的提速操作。

启用缓存

  通过访问“管理>配置>开发>性能”( admin/config/development/performance)页面可进行 Drupal 内置的性能优化设置页面。

  这个页面看到的所有选项都可以勾选。这些缓存设置只对匿名用户(未登录用户)有影响,所以如果你的站点并不频繁更新,可以将缓存时间设置得长一些。缓存区块可以避免在每个页面加载区块时都要对其进行重建。区块在很多Drupal站点中被大量使用,因此对其它进行缓存会很有帮助。启用区块缓存也有一个缺点,即如果你修改了其中的内容,直到达到最小缓存周期(Minimum cache lifetime)前,匿名用户将不会看到区块中内容的变化。当然你可以点击“清空所有缓存”按钮,让修改能够立即被看到。

  带宽优化(Bandwidth Optimization)部分的设置对匿名用户和登录用户同样都有影响,通过减小文件的大小、将多个文件进行合并以减少浏览器的请求数量等方式,这些设置可以让你的网站加载更加快速。

  压缩缓存页面 (Compress cached pages)并不是必选项。有时因为服务器已经对页面进行压缩操作,此时如果再选中压缩的话反而会使网站的速度变慢,因为这会尝试对已压缩的内容再次进行压缩。如果你不知道网站是否已经进行压缩,可以使用 GZIP 测试工具进行确认——首先取消选中“压缩缓存页面”,然后使用GZIP测试工具进行测试,如果结果显示网页已压缩,则不勾选。反之,则选中“压缩缓存页面”(这时再进行GZIP测试需要显示网页已缓存)。

禁用不必要的模块

  知道 Drupal 在每个页面加载时都会做些什么吗?它会检查每一个模块,确认它们是否要向当前页面中添加一些内容。如果网站上有50+个模块,可能会让你有些痛苦。通常,启用一个模块能够获得一些简单和便利的功能,但这其实是一项交易,你是希望拥有更快的站点还是更方便的体验?

  你可以通过禁用以下这些内置模块来提升网站速度:

  • Blog
  • Forum
  • Taxonomy
  • Search
  • Help
  • Shortcut
  • Dashboard
  • Database Logging
  • Field UI
  • Color
  • Toolbar
  • Tracker
  • Statistics

同样的,如果网站中有以下模块,也可以禁用掉:

  • Update Manager
  • Administration Development tools
  • Devel
  • Devel node access
  • Rule UI
  • Views UI
  • Module Filter

译注:开发和管理常用的 Drupal 模块在线上站点都可以删除和移除,用于辅助管理的UI类模块,可根据使用需要进行禁用

启用Views缓存

  如果你的站点上有Views模块,在没有禁用 Views UI模块的情况下,你可以通过Views管理界面启用 Views 缓存。

  Views是将数据从数据库中拿出来以各种方式展示的好办法。有时因为Views中包含大量信息,需要经历的工作和时间会比较长。因此当包含Views的页面进行加载时,每次都要再重复相同的查询工作。通过启用Views缓存,Views可以为其所要显示的内容只进行一次查询,便可在指定的时间周期内(或其它条件规则下)直接显示,而不需要每次都经历复杂的查询。这对页面加载速度将会有巨大的提升。

  因为查询结果(Query results)与渲染输出结果(Rendered output)通常是相关的,所以你完全可以将它们设置成一样的值 。以上图设置为例,如果用户更新了Views中相关的内容,因为缓存的原因,用户需要等待1小时之后才会看到新的输出结果。

启用 Panels 缓存

  很多 Drupal 网站使用 Panels 模块进行搭建。Panels 在为 Drupal 提供灵活布局方面的贡献是相当伟大的,但它却可以拖慢整个页面的加载速度。然而,每个 Panels 面板都有它自己的缓存设置,可以根据需要自行确定是否对页面各部分数据进行缓存。

  即简单地只为 Panels 面板设置基于时间的缓存,也可以基于特定条件为其设置复杂的缓存机制,但那需要一定的时间去深入了解,一般用户往往没那个需要。

  另外,有一个名为“Panels, Why so slow”的模块,可以显示每个Panels面板的加载时间,并以红色标示出很慢的那些。这为尝试不同的Panels设置以及纠正设置非常有用,可以通过调试让页面达到更短的加载时间。

对图片进行优化

现在到处都流行大型幻灯片和全屏图片,而这些大图片可以严重地拖慢网站的打开速度。压缩图片可以有利于提高网站速度,但也请注意不要过度压缩图片而导致质量下降。

使用 PNG 优化工具

  如果网站使用大量使用Photoshop 制作的PNG图片,便可通过PNG优化器获得巨大的好处。

使用JPEG优化工具

  JPG图片稍微要麻烦一点,因为在进行图片压缩之前,需要先对压缩率进行设置以便在图片文件尺寸和质量上取得平衡。

Drupal图片压缩

  如果网站的图片通过ImageCache(Drupal 6)或者Image Styles (Drupal 7)进行处理,则可以通过设置项调整输出图片的压缩率。进入“配置>媒体>图像工具包(admin/config/media/image-toolkit)”页面便可进行简单设置。较低的设置值会产生低分辨率的小图片,高的值则对应分辨率高的大图片。这个设置对所有图片进行“一刀切”,所以无法通过它对每个图片进行单独的设置。

Drupal提速小结

  文本仅仅只是“优化Drupal网站速度”这一话题的皮毛,今后我们还有很多内容可以交流。在提升Drupal速度这个话题上,我们还可以花很多时间进行研究,以下是导致Drupal网站缓慢的几类原因:

  • 服务器或网站存放空间的速度
  • 文件、图像及媒体文件的物理尺寸
  • 文件、图像及媒体文件的数量
  • 启用的模块数量
  • 站点上运行的其它程序脚本

原文标题:这些优化 Drupal 网站速度的超简单办法,你忽略了多少?

原文地址:http://drupalct.org/drupal-performance/speed-up-drupal-with-cache-and-else.html

这些优化 Drupal 网站速度的超简单办法,你忽略了多少?的更多相关文章

  1. Linux PHP多版本切换 超简单办法

    今天在帮别人安装一个不知所谓的东西时碰到,三版本的PHP环境,我感觉那个人也是666哒,他使用的是AMH快速开发工具 有图有真相!!! 然后就顺便写下怎么快速,简便切换php版本 首先:find命令找 ...

  2. Web 性能优化:21 种优化 CSS 和加快网站速度的方法

    这是 Web 性能优化的第 4 篇,上一篇在下面看点击查看: Web 性能优化:使用 Webpack 分离数据的正确方法 Web 性能优化:图片优化让网站大小减少 62% Web 性能优化:缓存 Re ...

  3. input屏蔽历史记录 ;function($,undefined) 前面的分号是什么用处 JSON 和 JSONP 两兄弟 document.body.scrollTop与document.documentElement.scrollTop兼容 URL中的# 网站性能优化 前端必知的ajax 简单理解同步与异步 那些年,我们被耍过的bug——has

    input屏蔽历史记录   设置input的扩展属性autocomplete 为off即可 ;function($,undefined) 前面的分号是什么用处   ;(function($){$.ex ...

  4. 优化Laravel网站打开速度

    Laravel是一个功能强大的框架,组件很多,代码也很庞大,它的易用方便是牺牲了性能的,即便如此它仍然是一个优秀的框架,但在正式环境下要做好优化提升网站的打开速度. 1.关闭debug 打开.env文 ...

  5. (转)网站速度优化技巧:Nginx设置js、css过期时间

    网站速度优化技巧:Nginx设置js.css过期时间 原文:http://www.webkaka.com/blog/archives/Nginx-set-the-expiration-time-for ...

  6. 优化IPOL网站中基于DCT(离散余弦变换)的图像去噪算法(附源代码)。

    在您阅读本文前,先需要告诉你的是:即使是本文优化过的算法,DCT去噪的计算量依旧很大,请不要向这个算法提出实时运行的苛刻要求. 言归正传,在IPOL网站中有一篇基于DCT的图像去噪文章,具体的链接地址 ...

  7. 超简单的NDK单步调试方法

    令人兴奋的是,ADTr20已经支持JNI单步调试,再也不需要如上这么麻烦的步骤了 你现在需要做的只需以下2步: 1.使用ndk-build编译时,加上如下参数NDK_DEBUG=1,之后生成so文件之 ...

  8. Nginx网络架构实战学习笔记(三):nginx gzip压缩提升网站速度、expires缓存提升网站负载、反向代理实现nginx+apache动静分离、nginx实现负载均衡

    文章目录 nginx gzip压缩提升网站速度 expires缓存提升网站负载 反向代理实现nginx+apache动静分离 nginx实现负载均衡 nginx gzip压缩提升网站速度 网页内容的压 ...

  9. 让那些为Webkit优化的网站也能适配IE10

    特别声明:此篇文章由David根据Charles Morris的英文文章原名<Adapting your WebKit-optimized site for Internet Explorer ...

随机推荐

  1. 【转】SQL SERVER标量表达式的隐式转换

    在SQL Server中的数据类型中,存在着优先级的问题.标量表达示的返回结果类型也会根据操作数的类型而定,如1 +'1'=2.而不是'11',因些Int型的优先级比VARCHAR型的优先级要高.所以 ...

  2. 黄聪:让WordPress主题支持语言本地化(使用poedit软件实现中文翻译功能)

    如果你的WordPress主题要提交到WordPress官方主题库,使用者来自世界各地的多种语言,那么,你就要让你的WordPress主题支持语言本地化,方便使用者进行语言翻译和制作语言包. 让Wor ...

  3. [jQuery].scrollTop() 函数详解

    scrollTop()函数用于设置或返回当前匹配元素相对于垂直滚动条顶部的偏移. 当一个元素的实际高度超过其显示区域的高度时,在一定的设置下,浏览器会为该元素显示相应的垂直滚动条.此时,scrollT ...

  4. spark transformation与action操作函数

    一.Transformation map(func) 返回一个新的分布式数据集,由每个原元素经过函数处理后的新元素组成 filter(func) 返回一个新的数据集,经过fun函数处理后返回值为tru ...

  5. PLSQL_闪回操作3_Fashback Transaction Query

    2014-12-09 Created By BaoXinjian

  6. apache 开启服务器包含(SSI)技术

    SSI(server-side includes)能帮我们实现什么功能: SSI提供了一种对现有HTML文档增加动态内容的方法,  即 在html中加入动态内容 SSI是嵌入HTML页面中的指令,在页 ...

  7. python(22)总结下最近遇到的编码问题

    最近爬取,或者解析网页是总是遇到编码问题(我的版本:python2.7) 一.常见异常:UnicodeEncodeError: 'ascii' codec can't encode character ...

  8. EXISTS、EXCEPT、INTERSECT 运算符

    转:http://www.cnblogs.com/WizardWu/archive/2011/10/01/2197147.html EXISTS运算符 EXISTS 可称之为运算符,有些书称它为关键词 ...

  9. C++ operator 知识点

    [转]C++隐式类型转换 operator T http://m.blog.csdn.net/blog/micx0124/12389973# 对于operator关健字用于运算符重载这我们都知道,其实 ...

  10. wpf mvvm使用问题集锦

    问题一.usercontrol1控件使用了mvvm数据绑定,usercontrol2也使用了mvvm数据绑定,则 以下是伪代码 <usercontrol2 datacontent="{ ...