Drupal学习中的所需的技术点

归类于Drupal 参与评论

近期看到drupal Skill Set圈子里关于Drupal技能的讨论,因此转发过来,顺便发票一下个人观点,大家也可以参考 Drupal Skill Set 的官方地址: https://groups.drupal.org/node/172434

Drupal开发中需要那些技能呢?来,先看一下大屏幕(下图)

Drupal Skill Sets

阅读全文 《Drupal学习中的所需的技术点》

1,639 Views , ,

Drupal系统A/B Test解决方案

归类于Drupal 2 条评论

引言

本文是我在工作中遇到A/B Test的需求,经过几天的研究的一篇心得笔记,不一定多专业,希望能给有类似需求的同行一些参考和灵感,在学习的过程中,也发现一些比较优秀的国外博文,我打算在近期翻译几篇,而不是把只言片语融入到本文当中,本文的重点仍然是drupal A/B Test的解决方案,介绍性的文字来源于最近几天的学习心得,是给不熟悉A/B Test的同行的一些入门介绍。

阅读全文 《Drupal系统A/B Test解决方案》

1,906 Views , , ,

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

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

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

1,649 Views , ,

Drupal性能优化模块介绍

归类于Drupal 参与评论

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

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

1,428 Views , ,

Drupal与大型网站架构(译)- Large-Scale Web Site Infrastructure and Drupal

归类于Drupal | 新闻 3 条评论

Linuxjournal 网站经典文章翻译,原文地址: Large-Scale Web Site Infrastructure and Drupal ,由于主要按照内容翻译,非逐字翻译,不妥之处,请参考原文阅读。

时至今日,架设一个drupal网站已经是非常容易的了,直到网站规模开始变大, 那么你就需要花费很大的精力在查找和修复网站性能瓶颈上面。本文我们将谈到一些技术可以把你的drupal网站负载能力优化到你曾经希望它应该达到的那种程度。

Setting up a Drupal Web site is pretty simple these days, until it gets popular, then you need to bring out the big guns and start finding and fixing the performance bottlenecks. In this article, we show some of the techniques that can allow your Drupal Web site to scale to the grandiose levels you originally hoped for.

阅读全文 《Drupal与大型网站架构(译)- Large-Scale Web Site Infrastructure and Drupal》

3,514 Views , , , , , , ,

Drupal自定义缓存之共享内存

归类于Drupal | 服务器技术 参与评论

对于高性能、高并发软件架构中一个重要的优化策略就是,能在内存中处理的决不能放到外存中。这里外存包括:网络I/O,DB,硬盘。
对于一个drupal站点,我们都要使用到缓存,前文《drupal性能优化经验贴》中也谈到,必须使用cache。
一般情况下,我们使用memcache,大型站点,使用分布式memcache,并且memcache常常和Application不在同一台服务器上面。这就会带来一个问题,内部网络IO。对于小站点可能没有什么问题,但是对于一个大型站点,这个问题很严重。
因为Drupal的某些缓存比较大,比如theme-registry, content-type-info, locale翻译信息,对于一个较复杂的站点,这几个缓存加起来至少1M以上,大到3-5M。如果一个request需要3M的缓存,那么1000request需要3G的流量,这样即便是内网的IO,也会造成很大的瓶颈。(笔者曾经就遇到这样的问题,所以这里就是对这个问题的解决方案的分享)。

如何解决呢,就是将某些缓存,再缓存到本机,这样就会省去网络IO,降低了网络瓶颈。
缓存到本机,我们可以使用本机文件缓存,比如缓存到tmp下面。但是按照我们的原则: 能在内存中处理的决不能放到外存中,我们可以把这缓存放到内存中(前提是硬件服务器内存比较大,现在一般较好的服务器可以达到8G,以至于20,30G,这样内存完全可以拿出1G去缓存这些内容)。

为了方便,我们可以写一个接口函数,去封装缓存动作,可以缓存到APC(内存共享)、文件。这里我们重点选择文件夹,因为文件夹正常是缓存在磁盘上,但是我们可以把这个文件夹挂载到内存上。如果内存不够可以取消内存挂载,这样操作起来比较灵活,也不需要修改任何代码。
阅读全文 《Drupal自定义缓存之共享内存》

933 Views , ,

Drupal性能优化之-将Boost模块用到极致

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

Boost模块是drupal的一个静态页面缓存模块,效率非常之高,如果还不了解,请参考《让猪去飞-Drupal性能优化贴》,本文就使用Boost以及如何 hack该模块来打造高性能Drupal网站做简单介绍。

一般情况下,Boost模块适用于匿名访问多的Drupal站点,因为这会直接去访问事先建好的静态页面,效率很高,不需要进行数据库查询。但是在很多情况下,我们的网站需要用户登录,以登录用户的方式访问网站,但是,网站的很多内容其实和匿名用户看到的完全一样。

举个例子,比如新浪博客,腾讯博客等。当用户登录之后和匿名用户看到的博文完全一样,唯一不同的就是上面的用户信息(topbar),也可以称之为顶栏或者侧栏。(参考下图)
阅读全文 《Drupal性能优化之-将Boost模块用到极致》

7,534 Views , , , ,

在Drupal的数据库层应用MySQL Master/Slave

归类于Drupal | 其他 | 数据库技术 7 条评论

关于drupal性能的优化,文章Drupal高性能经验漫谈中提及多种方法,但在数据库的架构方面,我们还没有讨论到MySQL的主从架构,即Master/Slave如何在drupal中应用。

众所周知,MySQL的master/slave模式对于提高数据库访问层的性能是非常有效的,本文就在Drupal中如何应用mysql当master/slave做一下简单介绍。

默认情况下Drupal6并不支持master/slave结构,即使是Drupal的Pressflow版本,也是只提供相关函数,并不能把已有的db_query定向到slave数据库,因此有必要在drupal到query机制中加入router的功能。

根据Drupal.org上面这篇文章的讨论,笔者总结了一下,并作了相应的改良,http://drupal.org/node/469274
阅读全文 《在Drupal的数据库层应用MySQL Master/Slave》

996 Views , , ,

顶部