D6升级D7之后,性能着实让人头大,不妨参考下面文章,另外站内搜索DOOOOR里其他优化文章,中西医结合吧。其中CDN和BOOST效果还可以,其他的没试过。
1,服务器
Web服务器建议,推荐使用HAProxy/Varnish作为前端代理,Nginx作为Web服务器,php-fpm作为FastCGI处理PHP程序,当然也可以使用Apache作为PHP后端处理,但是不推荐使用apache作为Web节点服务器。
Drupal有一个Varnish相关的模块http://www.drupalla.com/project/varnish
2,使用Drupal的Pressflow版本
Drupal本身没有太多考虑性能的优化,Pressflow是一个专门针对Drupal的优化版本,包括支持Mysql Master-Slave等等。对于大型网站,选择Pressflow是必须的。
http://pressflow.org/
3,使用静态页面缓存(Boost模块)
静态页面是最快的,没有之一!
因此静态页面缓存是最佳选择,尽量把页面动态的部分独立处理,用ajax/iframe调用,整个页面是静态页面,部分用ajax刷新(当然用shtml 也可以)。 Boost模块经过稍微调整和修改,可以设置某些Roles(比如一般认证用户)也读取静态缓存(apache/nginx的rewrite),并且可以 很好的工作在Apache和Nginx上面,并使某些角色,比如管理员,不读取静态页面。对于一个普通网站,90%以上的都属于普通认证用户和匿名用户, 因此,经过这样修改可以大大提高性能。
具体如何使用Boost模块已经如何让登录用户也使用Boost模块,可以参考这篇文章,让Drupal/Boost模块发挥到极致。
Boost 模块地址:http://www.drupalla.com/project/boost
4,opcode
Drupal 需要load相当多的PHP文件,所以opcode是必须的,MUST!
实践证明eAccelerator比APC和xCache好一点,注意:APC的某个版本在NFS环境下有bug,不能正确缓存,所以建议使用eAccelerator。
5,使用CDN
要想使页面加载较快,必须使用CDN。(原理请查阅相关文档)
CDN Drupal有两个模块 Parallel 和 CDN,Parallel比较简单,推荐使用。但是Parallel目前已经并入CDN模块,所以还是得要下载CDN模块http://www.drupalla.com/project/cdn
3
6,数据库结构合理、分表、分库
不要使用content-profile模块。
该模块把profile信息存储成一种你node-type,问题是这样会导致node表比较大,但是profile的node除了uid之外其他都是无 用信息。加入一个网站有上百万、千万用户,再有很多文章(node),这样node表将会非常大,尤其是一个user有很多profile的node,比 如5个,这样node表就会有5倍的user数量的node。导致查询node、user都没法处理,views之类的工具更是没法用,因为views生 成的SQL将会非常慢。
把user相关表分出去,到独立的数据库,这样可以方便其他站点,比如子站,共享用户信息。
对于大型网站,不推荐使用太多第三方模块,因为大多模块都是基于node,如果跟node没有关系的独立数据,建议自己写模块来读写,这样方便数据的拆分和优化,又减轻了node表的压力。所以再使用模块前,必须了解模块的工作机制。
另外:
1,别用 虚拟空间,选用vps以上
2,nginx 替换apache,apache 是耗内存大户
3,静态资料多的话,安装boost
4,安装apc 高级缓存
5,后台开启缓存,并且压缩css,js
6,可以的话尽量少用大模块,如 views,og,还有是关掉不必要的模块,如devel
7,还有一个drupal 高性能方面的网站,可以上去查看资料。
分享到:
相关推荐
[CMS程序]Drupal v7.x-dev Build 080807_drupal7.x-dev-codepub.zip
[CMS程序]Drupal v7.x-dev Build 080807_drupal7.x-dev-codepub.zip试卷可打印可复制可编辑
php 开源cms drupal php 开源cms drupal
CVE-2018-7600 | Drupal 8.5.x < 8.5.1 / 8.4.x < 8.4.6 / 8.x < 8.3.9 / 7.x? < 7.58 / < 6.x? - 'Drupalgeddon2' RCE (SA-CORE-2018-002) ( ) 支持: Drupal < 8.3.9 / < 8.4.6 / < ...
适合运行在SinaAppEngine(SAE)上的Drupal7.x_PHP_JavaScript_
Drupal最新的版本——drupal-7.x
[CMS程序]Drupal 6.13_drupal6.x-codepub.zip试卷可打印可复制可编辑
drupal 6.x (drupal-6.zh-hans)简体中文集成汉化包.
[CMS程序]Drupal 6.13_drupal6.x-codepub.zip
原版Drupal最新教材 Second Edition 针对Drupal 6.x
中文入门到熟悉Drupal6.x基本模块开发简明实用教程
Drupal 7 的。 新版本的Drupal 7 webform cookbook. 网站框架
在本教程中,我们将会建立一个模块,这个模块将列出最近一周内所有新建立的内容节点,比如日志或者论坛的帖子。本章将讲述如何建立最初的模块文件和目录。
Packtpub.Drupal.7.Sep.2010.rar
Drupal.pro.6.x_ch - Copy
.Drupal.7.for.Windows.Developers, drupal学习资料,提供网站开发的基本语法,了解基本概念。
Packtpub.Drupal.7.First.Look.Nov.2010.rar
Apress.Pro.Drupal.Development.2nd.Aug.2008 drupal 6.x
drupal-template-helper, Drupal 8.Drupal 7和背景CMS模板的Chrome 扩展 模板 helperChrome 8,Drupal 7和背景CMS模板的DevTools扩展: https://chrome.google.com/webstore/detail/ppiceaegogijpjodfpiimifhbnaifb