2011年7月13日星期三

Drupal性能优化指南(待续)

Drupal是一个特性众多,极具弹性的内容管理系统(CMS)。在某些情况下,也是一个性能较低的系统,本指南试图从多个方面多个层次对Drupal进行优化,榨干Drupal的最后一滴性能。
当在未优化配置下运行时,仅仅打开一个简单页面也会消耗大量内存、CPU,并且会执行多次数据库查询。如果架设在对CPU以及内存较为敏感的共享主机上,一个中等规模的站点就会带来巨大挑战。因此,这里提供给读者一些安装方面技巧和资源,用于最大化Drupal的效率。
Drupal社区在这方面做了很多尝试。可以从运行环境(LAMP,Drupal,页面渲染等)的多层次入手来增进性能。好在有一些普适性的简易方式,仅几分钟时间就可以获得较大改善。当然,如果读者乐于深入的话,也有更多的优化用于获得更好的性能。
Drupal 5.12, Drpal 6.6以及Drpal 7.x: 我们正在变慢。版本越高,速度越慢。
什么是性能和负载能力?
性能就是系统的速度。简单来说,生成一个页面要多长时间?性能就是服务端和客户端渲染客户的时间,我们暂时抛开客户端不谈——其他方面可以获得较大收益。
伸缩性指的是系统同时处理请求的能力。系统在重负载情况下的吞吐量如何?匿名用户和登录用户?系统稳定性如何?会出现系统错误么?使用了多少系统资源?
各个方面都是很重要的。一个好的站点,依赖于一个具有良好伸缩性的解决方案为基础。性能调优可以在多个层次进行:
数据访问
代码性能
页面渲染
这一活动的关键在于,解决各个层次中存在的瓶颈。某一层次中存在的瓶颈将会使对其他层次的调节无功而返。
负载能力的优化主要的手段:
页面以及块级的缓存。
Web服务器请求处理。
Web服务器的扩展。
本系列文章将会逐点说明。
得来全不费工夫?
Drupal的优化不是那么容易的——不是Drupal烂,只是LAMP系统的优化涉及太多的技巧:购买正确的硬件,安装负载均衡器,主从模式的MySQL服务器,静态文件服务器,Web服务器设置,PHP的opcode缓存,Memcached之类的内存对象缓存系统,CDN….所涉及的方方面面又要顾及安全性,所有的方面都要优化。
Dries Buytaert
Drupal的优化并不简单,不过存在一些简易方法会为所有站点带来巨大优化。在第五部分谈及了一些简单的Drupal相关配置选项。接下来的内容我们将会由易入难的从多个方面入手进行优化,并随时明确说明适合某种站点的最优方法,会包含较多的相关文章以及讨论的链接。
本指南分为以下章节:
前言
服务器工具
YSlow, Devel, MySQL Admin, MySQL Client, Munin, Analytics
Drupal和服务器的个性化
各种不同类型的站点
Drupal主机环境
共享的,独立的,虚拟的服务器。
Drupal的快速优化
页面缓存、压缩
Drupal LAMP调优
Opcode缓存,数据库,索引和预热,Apache还是Nginx,内存
Drupal功能实践
搜索,滥用模块,CCK,最佳实践。
Drupal常见问题
数据库查询,危险的模块
This guide is divided in the following sections.
Drupal缓存
Boost, Varnish, CacheRouter
Drupal的定制化版本
Pressflow, Mercury
Drupal压力测试
Apache Bench, JMeter
Drupal页面渲染
请求,CDN,Expires Headers, 压缩,图片
Drupal性能速查
延伸阅读
如果阅读过了本文,读者还可以阅读以下内容进行一些相关问题的深入了解
Server tuning considerations
Apache, PHP, MySQL的优化
Performance
Wim Leers的性能博客。
Drupal performance-tuning and optimization for large web sites
大量的高水平文章(译注:2bits全站都值得看看)
scaling drupal – an open-source infrastructure for high-traffic drupal sites
由浅入深的教读者如何从一个单机的简易Drupal站点升级为多个Web和数据库服务器的复杂站点。
Tips on speeding up your Drupal sites
关于Drupal站点加速的一些Tips(又是2bits。这名字真。。)
Drupal Performance and Scalability
Tag1提供的在线文档,部分章节未完成
High performance
Drupal群贡献,所有关于Drupal性能的内容,包括Pressflow, Memcached, Boost, Varnish以及Nginx的很多相关内容。
Best Practices for Building a High Performance and Scalable Drupal Site
Webinar covering a lot of ground.
Drupal 6 Performance Tips
一本新书,内容包含标准Drupal的特性,Boost,Devel,Memcache以及多站点等内容。
关于作者:Murray Woodman开发了一个具有一千万节点的Drupal站点,在多次尝试和失误后,获得了以上的宝贵经验。文中很多材料取材自其他作者的相关著作。本文为Drupal澳洲用户群聚会而作。

没有评论:

发表评论

上海松善实业有限公司

    上海松善实业有限公司是一家集多品牌销售于一体的电线电缆骨干企业,公司成立于2016年。 公司拥有国内各大品牌:起帆、远东、上上、江南、胜华等。     主要产品有:高低压电力电缆、橡套电缆、控制电缆、架空绝缘电缆、塑胶电缆、电子计算机电缆、通讯电缆、...