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

继drupal北京聚会之Drupal性能优化分享之后,笔者有幸做了Drupal性能优化系列之(二),分享了有关Drupal以及PHP还有varnish、Apache的性能优化经验,现将文档分享,供大家参阅下载。主要涵盖一下几个方面:提高浏览器响应速度提高PHP的响应速度Drupal Boost模块的技巧varnish缓存管理Drupal网站最佳架构模式不了解前文的,请参考《Drupal性能优化实战(一)》。由于slideshare...
浏览:417

PHP后台进程/异步处理的用法及在Drupal中的应用

在Web的HTTP请求中,经常有些消耗CPU耗时的操作,并且这些操作并不是立刻就需要得到执行结果,这时候,我们最好使用异步的后台进程处理来提高网站的性能。在异步处理框架中,Gearman是一款优秀的异步处理程序并且支持多种语言和平台,但正是由于这种兼容性的,所以使用起来稍微复杂,所以本文暂不介绍Gearman的使用。PHP在Linux上运行,可以通过一些函数调用系统shell,让shell...
浏览:118

通过Hack来提高Boost模块的性能

Boost模块,Drupal高性能网站中的必备利器,前文《Drupal性能优化之-将Boost模块用到极致》详细讲解了几处对Boost模块的优化。但是近期笔者通过对一个大型drupal网站的性能跟踪,发现Boost模块本身会有性能问题,本文就几点Boost的使用经验做个总结。1. 防止Boost清除缓存Boost模块实现了hook_nodeapi,在node每次更新、保存等操作的时候,Boost都会清除cache。Boost清除内存是...
浏览:119

Drupal自定义内容类型与nodeAPI的研究

自定义内容类型和CCK,是Drupal得以扩展的核心基础,几乎所有的drupal站点,都有自己自定的内容类型(content_type),也几乎都在使用CCK来添加自定义字段。既是核心,那么一些小调整可能会对Drupal整个站点的性能都会带来很大的影响,本文主要就创建Drupal的自定义内容类型中遇到的一些问题和解决方案,做一些经验介绍。创建自定义内容类型的方法1. 通过Drupal内置的内容类型...
浏览:128

Drupal性能优化模块介绍

在drupal性能优化方面,比较重要的几点在前文《漫谈Drupal性能优化经验贴》中已经做了介绍,不过性能优化方面,我们还有很多需要注意,本文就几个Drupal性能相关模块做一些简要介绍。DB Maintenance 模块DB Maintenance 模块可以帮助我们对数据库的性能做定时的优化和修复,主要是执行一些优化SQL语句,比如OPTIMIZE TABLE、REPAIR TABLE等。Block Cache Alter 模块Drupal提供...
浏览:128

Drupal静态页面缓存利器-Boost模块与Ajaxblocks模块

我们知道,drupal的Boost模块是drupal静态页面缓存的必备模块,关于Drupal整体优化,请参考前文《让猪去飞-漫谈Drupal性能优化经验贴》。Boost模块只提供匿名用户的静态页面缓存,但多数情况下,我们站点的登录用户访问量也很大,我们需要让登录用户也使用静态页面缓存。这里有一个前提,就是登录用户看到的页面和匿名用户看到的页面比较相似,除了一两个DIV里面会显示登录信息...
浏览:169

Drupal实用本地调试函数

在drupal开发中,调试是必不可少的,可以帮助我们找到bug,或者性能优化、或者改善用户体验等等。而关于调试的话题,本站已经有过几篇文章专门论述了,大家可以参考如下几篇:Drupal调试之Devel模块使用技巧Drupal/PHP性能分析工具之xDebug本文的重点不是向大家推荐其他需要安装的工具,而是一段我认为非常有用的调试代码,有了这段代码,可以很清晰的了解一些debug信息。defin...
浏览:107

Drupal数据库备份以及MySQL备份策略

数据备份是非常重要的事情,一个站点如果没有及时备份数据,那么一旦服务器出现故障,造成的后果将是不可想象的。因此,作为生产站点,一定要及时的备份,以免出现不可挽回的损失。 笔者在这里共享一下drupal小型站点的备份策略和大型站点MySQL的备份策略。中小站点简单备份策略基于Drupal的中小行网站,我们可以使用backup_migrate模块,该模块提供了定期备份的功能,备份的时...
浏览:99

Varnish前端代理Drupal的配置以及Jenkins

鉴于varnish使用以及教程都较少,所以特将varnish作为drupal的前端代理配置贴出来,供大家参考使用。顺便设置了Jenkins的代理转发,如果要启动Jenkins,请注意端口号。Apache/Nginx只需监听127.0.0.1的80端口即可,Varnish监听公网IP的80端口,负责转发请求。文件中附带了Round-Robin负载均衡的设置,如果有多个服务器,可以参考之,文件默认位置:/etc/varnish/default.vcl。b...
浏览:108

Drupal调试之Devel模块使用技巧

在drupal开发中,必然会遇到需要代码调试的时候,这时候有人可能会想说用xdebug之类的调试工具,但有的时候你只是想得到一些中间值或者Drupal流程中的一些统计值,抑或是某个函数的输出,使用xdebug显然就显得不那么合适了。在众多调试工具当中,Devel是其中必备的一个,其他各种调试工具,将会在后续文章中一一阐述。Devel模块作为Drupal的一个调试模块有其天然优势,首先他使...
浏览:156

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

Linuxjournal 网站经典文章翻译,原文地址: Large-Scale Web Site Infrastructure and Drupal ,由于主要按照内容翻译,非逐字翻译,不妥之处,请参考原文阅读。时至今日,架设一个drupal网站已经是非常容易的了,直到网站规模开始变大, 那么你就需要花费很大的精力在查找和修复网站性能瓶颈上面。本文我们将谈到一些技术可以把你的drupal网站负载能力优化到你曾经希望它应该...
浏览:114

Drupal6中node加载流程分析

大家都知道,node是drupal中最重要的对象和数据结构,一般的开发都是基于node对象的,所以笔者分析了一下node对象的加载流程,供参考和查阅。这张图片描述了Drupal如何加载和处理node,以及中间如何调用了相对应的hook。最顶端是hook_menu,drupal的URLmapping函数,这里定义了查看node的入口。1hook_menu(node/%node);需要注意的是drupal_render函数,还有要注意$node->bod...
浏览:109

Drupal性能优化实战4则

本文侧重于drupal性能优化实战,问题较为具体,如果大家想从全局上了解怎样提高drupal网站性能,请参见本站另外一篇文章:《让猪去飞-漫谈Drupal性能优化经验贴》这里列举几点笔者在实践中的几点总结,仅供参考。1,给Views加缓存。Views可以生成一些列表,一般这些列表都不需要实时性,所以我们可以对其使用缓存,当我们察觉到一个使用了Views的页面加载比较慢时,通过Views后...
浏览:96

Drupal自定义缓存之共享内存

对于高性能、高并发软件架构中一个重要的优化策略就是,能在内存中处理的决不能放到外存中。这里外存包括:网络I/O,DB,硬盘。对于一个drupal站点,我们都要使用到缓存,前文《drupal性能优化经验贴》中也谈到,必须使用cache。一般情况下,我们使用memcache,大型站点,使用分布式memcache,并且memcache常常和Application不在同一台服务器上面。这就会带来一个问题,内部网...
浏览:117

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

Boost模块是drupal的一个静态页面缓存模块,效率非常之高,如果还不了解,请参考《让猪去飞-Drupal性能优化贴》,本文就使用Boost以及如何 hack该模块来打造高性能Drupal网站做简单介绍。一般情况下,Boost模块适用于匿名访问多的Drupal站点,因为这会直接去访问事先建好的静态页面,效率很高,不需要进行数据库查询。但是在很多情况下,我们的网站需要用户登录,以登录用户的...
浏览:101

页面

热点文章

手册 更多

top