Your SlideShare is downloading. ×
  • Like
Drupal高性能网站架构分享-Drupal Beijing Meetup
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Drupal高性能网站架构分享-Drupal Beijing Meetup

  • 2,790 views
Published

Drupal 北京聚会slides 之 Drupal高性能网站架构。 …

Drupal 北京聚会slides 之 Drupal高性能网站架构。
At Drupal meetup in Beijing.
Drupal Performance Optimizations
原始文件可以从
http://www.drupal001.com
下载
By Robbin Zhao (赵高欣)

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,790
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
17
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. DRUPAL高性能网站最佳实践 Drupal性能优化经验分享 赵高欣 (Robbin Zhao) zhaogaoxin@gmail.com robbinzhao@zinch.comSaturday, 15 October,
  • 2. 内容纲要 ⼀一. 使用运行最快的语言 二. 使用最高效的PHP 三. 使用最快的Drupal发行版 四. 让数据都在内存中处理 五. 让距离不再遥远 六. 保证数据的合理性 七. Drupal性能相关模块 八. 展望、问题及讨论Saturday, 15 October,
  • 3. 使用运行最快的语言 从图中我们可以看到,不 同的语言,运行速度差异 是非常大的。 ??? 语言跟Drupal有什么关系 呢? Let’s continue ... Drupal与高性能网站架构 http://www.drupal001.comSaturday, 15 October,
  • 4. 使用运行最快的语言 Web开发中必须的语言 -》 HTML HTML是WEB开发中最快的语言, 没有之一! Drupal与高性能网站架构 http://www.drupal001.comSaturday, 15 October,
  • 5. 使用运行最快的语言 Web开发中尽量缓存静态页面,尽量把页面动态的部分独立处理, 用ajax/iframe调用,整个页面是静态页面的,少量动态用ajax刷 新。 国内的QQ、SINA,已及Google等网站都采用这种技术。 使用Boost静态化你的Drupal站点! Boost模块经过稍微调整和修改。 1. 匿名用户使用静态HTML页面 2. 设置某些角色(普通认证用户)也使用静态HTML缓存。 对于一个普通网站,90%以上的都属于普通认证用户和匿名用户, 因此,经过这样修改可以大大提高性能。 Drupal与高性能网站架构 http://www.drupal001.comSaturday, 15 October,
  • 6. 使用运行最快的语言 用Boost模块配合NFS网站架构图 详情参阅: Drupal性能优化之-将Boost模块用到极致 http://www.drupal001.com/2011/09/drupal-boost-tips/ Drupal与高性能网站架构 http://www.drupal001.comSaturday, 15 October,
  • 7. 使用最高效的PHP PHP面临的问题 1. PHP本身的速度比较慢(参见前面插图) 2. PHP框架,Drupal/Zend等,加载相当多的PHP文件,降低执行 速度。(每次请求都要加载) !!!OPCODE 推荐使用eAccelerator。 注意:APC的某个版本在NFS环境下有bug,不能正确缓存。 Drupal与高性能网站架构 http://www.drupal001.comSaturday, 15 October,
  • 8. 使用最快的DRUPAL发行版 Drupal本身性能问题 1. 本身的一些代码性能不高 2. SQL没有优化、数据库不支持主从以及Views使用中的一些问题 等。 官方网站 http://pressflow.org/ Drupal与高性能网站架构 http://www.drupal001.comSaturday, 15 October,
  • 9. 让数据都在内存中处理 能在内存中处理的决不能放到外存中!! 使用缓存! ⼀一般情况下,我们使用memcache。大型站点,使用分布式memcache,并且 memcache常常和Application不在同⼀一台服务器上面。 对于大型Drupal站点,这里会有⼀一个性能问题:内部网络IO。 由于Drupal的某些缓存比较大,比如theme-registry, content-type-info, locale翻译 信息,对于⼀一个较复杂的站点,这几个缓存加起来至少1M以上,大到3-5M。如 果⼀一个request需要3M的缓存,那么1000request需要3G的流量,这样即便是内网 的IO,也会造成很大的瓶颈。 可以先把这样的数据缓存在本机的内存/硬盘中,减少 网络请求。本机内存允许的话,将目录挂载到内存上。 参考文章: http://www.drupal001.com/2011/10/drupal-custom-cache-tips/ Drupal与高性能网站架构 http://www.drupal001.comSaturday, 15 October,
  • 10. 让距离不再遥远 请使用CDN加速你的网站。 Drupal CDN模块 http://www.drupal.org/project/cdn Drupal与高性能网站架构 http://www.drupal001.comSaturday, 15 October,
  • 11. 保证数据的合理性 数据最重要! (大型站点) 1. 不清楚的模块谨慎使用。(content_profile) 2. 多一些custom模块。(脱离node) 3. CCK字段不要共享。 4. ... content-profile模块使用node作为user的profile,把user和node关联 起来,数据库结构及其不合理。查询慢,不能分离user到单独服务 器。 cck字段共享,drupal会把这个字段单独拿出来,做一个独立到 表。比较慢,也不合理。 Drupal与高性能网站架构 http://www.drupal001.comSaturday, 15 October,
  • 12. DRUPAL性能相关模块 模块 描述 Boost 静态缓存 Varnish 反向代理、缓存。 Javascript Aggregator Javascript加载。 Memcache API and Integration$ Memcache集成。 Block Cache Block缓存。 CacheExclude$ 缓存策略。 High-performance JavaScript callback handler Ajax callback处理。 Apache Solr 全文搜索。 No Anonymous Users 匿名用户session处理。 Drupal与高性能网站架构 http://www.drupal001.comSaturday, 15 October,
  • 13. 展望、问题、 讨论 关于Drupal性能的思考: 1. 模块/代码动态加载。 比如:autoload,函数的命名必须和模块一致。 2. node/cck用独立的表处理每中内容类型。 横向扩展表,数据共享,node类型共享。 3. PHP on jvm || PHP c/c++ Quercus, HipHop(Facebook) 4. Drupal7 CCK性能问题 每一个独立字段,单独分配一张数据库表,性能 如何? Drupal与高性能网站架构 http://www.drupal001.comSaturday, 15 October,
  • 14. 全剧终! zhaogaoxin@gmail.com http://www.drupal001.comSaturday, 15 October,