Drupal7性能优化简述

归类于Drupal | 高级优化实践 5 条评论

本文简单谈一下Drupal7的性能问题,以及优化的方法。有些部分内容是参考翻译网站,有些是修改之后的总结,关于Drupal7的优化本篇也只是抛砖引玉,简单的谈几点。
公认的Drupal7性能比Drupal6慢一些,虽说Drupal7性能有点慢,但其实有很多地方,Drupal7在性能上做了大量优化,下面列出几点:

Drupal7 性能优化

阅读全文 《Drupal7性能优化简述》

2,704 Views , ,

Drupal缓存 – Authcache模块原理详解

归类于Drupal性能优化指南 2 条评论

我们知道,drupal的缓存方法本身有很多,常用的drupal缓存有:内置缓存、Boost、Authcache。
今天我们讲解一下Authcache模块的缓存方法和Authcache模块的工作原理。

Authcache模块和Boost模块的原理不一样,Boost模块是生成静态页面,所以缓存的效果最好,速度最快。Authcache模块是利用Drupal自身的缓存机制,生成页面缓存,由于进入到了Drupal环节,因此速度没有Boost缓存快,但是优点就是可以灵活的使用PHP/Drupal相关方法,动态处理数据。
(卖一下关子:后续会讲如何配合Authcache,动态处理方法缓存内容)。

Authcache工作原理

阅读全文 《Drupal缓存 – Authcache模块原理详解》

757 Views ,

给Drupal使用更强劲的缓存利器-Redis

归类于数据库技术 5 条评论

关于Memcache和Redis的区别,本文不打算做过多的讨论。从理论上讲,如果drupal的Redis模块写得够合理(没有细看源码,粗略估计一下),Redis对Drupal的性能提升肯定比Memcache要大,单就数据结构上的扩展,就省去了很多Memcache中复杂的操作,外加上Redis的持久化,可以做部分存储使用,因此可以代替部分数据库的功能,此外做过Memcache性能研究的用户更会发现使用Memcache的瓶颈并不在于速度,而是数据结构处理。所以,我们打算使用Redis来做Drupal的缓存。

安装Redis
我们使用yum或者apt安装,比较简单,具体略过。
安装完成之后,redis的配置文件位于:/etc/redis.conf,可以设置持久化策略、内存使用等,由于redis支持VM策略,因此内存的瓶颈应该不是什么大问题。(注意一下pid的路径,以后要用到)

阅读全文 《给Drupal使用更强劲的缓存利器-Redis》

1,608 Views , , ,

网站性能优化及Drupal性能优化拾遗

归类于Drupal 参与评论

阅读了一下drupal专业开发指南一本书,英文版的,里面有几点关于Drupal以及网站优化的建议,总结了一下,列在此处以供参考。

  1. 使用varnish作为前段代理。(一直推荐,从不间断!)
    也可以使用Boost+Varnish,两个并不冲突。如果内存足够多,可以把Boost的的缓存目录挂载在内存上,这样速度更快。
  2. 不要使用Drupal默认的404,因为走Drupal,比较慢,消耗系统资源。
    给htaccess或者apache的conf文件添加如下代码:

    <filesmatch "\.(png|gif|jpe?g|s?html?|css|js|cgi|ico|swf|flv|dll)$">
      ErrorDocument 404 default
    </filesmatch>
  3. 定时清理Session表。
    Drupal的session保存在数据库里面,设置不当会导致大量的垃圾数据,因此需要设置session时间短一点。添加如下代码到settings.php里面

    ini_set('session.gc_maxlifetime',   86400); // 24 hours (in seconds)
    ini_set('session.cache_expire',     1440); // 24 hours (in minutes)
  4. 阅读全文 《网站性能优化及Drupal性能优化拾遗》

1,126 Views , , ,

PHP和Drupal性能优化系列之(二)

归类于Drupal | 服务器技术 4 条评论

drupal北京聚会之Drupal性能优化分享之后,笔者有幸做了Drupal性能优化系列之(二),分享了有关Drupal以及PHP还有varnish、Apache的性能优化经验,现将文档分享,供大家参阅下载。
阅读全文 《PHP和Drupal性能优化系列之(二)》

1,632 Views , ,

Drupal性能优化模块介绍

归类于Drupal 参与评论

drupal性能优化方面,比较重要的几点在前文《漫谈Drupal性能优化经验贴》中已经做了介绍,不过性能优化方面,我们还有很多需要注意,本文就几个drupal性能相关模块做一些简要介绍。

DB Maintenance 模块
DB Maintenance 模块可以帮助我们对数据库的性能做定时的优化和修复,主要是执行一些优化SQL语句,比如OPTIMIZE TABLE、REPAIR TABLE等。
阅读全文 《Drupal性能优化模块介绍》

1,372 Views , ,

Drupal性能优化实战4则

归类于Drupal 参与评论

本文侧重于drupal性能优化实战,问题较为具体,如果大家想从全局上了解怎样提高Drupal网站性能,请参见本站另外一篇文章:

《让猪去飞-漫谈Drupal性能优化经验贴》

这里列举几点笔者在实践中的几点总结,仅供参考。

1,给Views加缓存。

Views可以生成一些列表,一般这些列表都不需要实时性,所以我们可以对其使用缓存,当我们察觉到一个使用了Views的页面加载比较慢时,通过Views后台配置页面的Preview,以及Devel模板的调试信息可以看到一个Views在SQL执行阶段和渲染阶段的执行时间,我们会发现这两部分都是时间花费比较长的,但SQL执行部分的消耗我们可以通过开启Views缓存来解决,这样不仅页面加载更快,同时也可以少占一次MYSQL查询,意味着更大的数据库吞吐量。
阅读全文 《Drupal性能优化实战4则》

1,345 Views , , , , ,

让猪去飞-漫谈Drupal性能优化经验贴

归类于Drupal | 服务器技术 9 条评论

drupal性能问题一直以来都是Drupaler们最大的难题,在平台设计方面,可扩展性和高性能从来都是难以平衡的问题。
drupal平台本身的优劣本文不做讨论,就Drupal的性能问题,这里列几个实战总结经验,以供参考。

1. 使用静态页面缓存(Boost模块)
静态页面是最快的,没有之一!
因此静态页面缓存是最佳选择,尽量把页面动态的部分独立处理,用ajax/iframe调用,整个页面是静态页面,部分用ajax刷新(当然用shtml也可以)。 Boost模块经过稍微调整和修改,可以设置某些Roles(比如一般认证用户)也读取静态缓存(apache/nginx的rewrite),并且可以很好的工作在Apache和Nginx上面,并使某些角色,比如管理员,不读取静态页面。对于一个普通网站,90%以上的都属于普通认证用户和匿名用户,因此,经过这样修改可以大大提高性能。

具体如何使用Boost模块已经如何让登录用户也使用Boost模块,可以参考这篇文章,让Drupal/Boost模块发挥到极致
Boost 模块地址 http://drupal.org/project/boost

Ajax建议使用Drupal的高效Ajax Callback模块 High-performance JavaScript callback handler
阅读全文 《让猪去飞-漫谈Drupal性能优化经验贴》

5,741 Views , , ,

顶部