基于WordPress网站的优化

时间:2011-05-12 14:26:00 

【WordPress(或者说任何一个web-based app)可以参考的优化策略】

单服务器优化策略:

DB优化;缓存优化和页面加载速度优化(压缩等);

多服务器优化策略:

DB读写分离;Web server负载均衡;Offloading(将static files, feed等保存到独立的服务器上);

附:WordPress官网介绍的针对不同服务器硬件的优化策略:(shared hosting, virtual/dedicated server, multiple servers)

http://codex.wordpress.org/WordPress_Optimization

http://codex.wordpress.org/WordPress_Optimization/Cheat_Sheet

如下主要介绍对WordPress站点的优化:

【A: 缓存优化】

为什么需要caching?

对于一个站点,如果不caching,每个用户的请求都需要执行相同的server side process:编译和解释执行php脚本,复杂的算法逻辑,数据库或其他IO读写,将转换的HTML返回给浏览器展示。

caching之后,可以保存如上各个步骤的中间结果避免重复计算或获取,例如:

1、采用db/io caching则db/io的结果可以直接获取,介绍db/io操作;

2、缓存算法部分的计算结果到内存中,可节省执行算法需要的时间;

3、对编译php代码得到的 opcode进行缓存,可节省每次编译需要的时间;

4、将生成页面的HTML静态保存,可以节省每次生成页面的整个时间;

5、通过HTTP header设置浏览器本地缓存,可避免每次请求获取静态文件,快速获取静态的图片,js,css等文件。

因此缓存可分为:db/io缓存、动态脚本编译缓存、生成页面缓存、浏览器缓存等;具体的实现:可以将中间结果保存在内存(memcached)中或磁盘中;

1. db caching

例如MySQL query cache,配置/etc/mysql/my.cnf:


    query_cache_limit       = 1M
    query_cache_size        = 16M


2. 动态脚本编译缓存

例如PHP compiler cache。PHP源代码需要通过编译器编译为opcode再解释执行;如果没有修改源代码,不需要每次都从源码开始编译,可缓存opcode。

常见的PHP compiler cache工具有:APC, eAccelerator

3. WP自带的缓存性能

在wp 2.3的时候首次引入cache,最初是file-based,可以通过wp-config.php中的define ( 'ENABLE_CACHE', true);设置是否开启cache功能。

从wp 2.6开始开始采用object-oriented solution,wp代码内部实现cache,不需要进行config。wp并提供了一系列的wp_cache函数允许开发者使用wp的对象cache功能。该object-oriented的cache是将数据cache在内存中而且仅在当前session有效。一些第三方插件提供了cache的持久化特性。

参考: + http://wpengineer.com/1607/use-wordpress-cache/ + http://codex.wordpress.org/Function_Reference/WP_Cache

4. HTML页面缓存

WordPress有自己的caching system,因此编写plugins或者修改WP代码,推荐使用它提供的函数,而避免直接编写SQL。

另外,使用一些WP caching plugins可以有效地缓存WP页面,大大提高网站页面加载速度。这些plugins中一般有2种类型的缓存策略:一种是缓存生成的页面;另一种是缓存db query的结果。

推荐:Hyper Cache或者Hyper Cache + DB Cache Reloaded或者W3 Total Cache

Hyper Cache

http://wordpress.org/extend/plugins/hyper-cache/

安装需要:

- 下载,解压,拷贝到wp-content/plugins下;

- 创建cache目录并设置可写:


cd hyper-cache
mkdir cache
chmod 777 cache


- 修改wp-content为可写:


chomod 777 wp-content


需要在该目录下生成`advanced-cache.php`文件

- 修改`wp-config.php`文件

在`define("WPLANG"`之后添加`define("WP_CACHE", true);`

具体参考:Hyper Cache: http://www.satollo.net/plugins/hyper-cache

标签:WordPress,优化,服务器
0
投稿

猜你喜欢

  • 新站如何合理与其他网站做友情链接

    2007-10-11 17:52:00
  • 安全:不让建用户而防止木马

    2009-10-11 12:05:00
  • 解决VMWare安装Mac系统后无法全屏显示的问题

    2023-03-06 16:42:18
  • 什么是Google分析师?

    2008-01-22 12:41:00
  • 电子商务“生态圈”的支付宝样本

    2009-10-27 14:32:00
  • DockerHub 镜像仓库的使用详解

    2023-10-02 05:11:57
  • Docker overlay 网络搭建的方法

    2021-07-21 12:24:16
  • linux操作系统下的域名解析系统设置

    2008-10-13 17:34:00
  • 金翎奖揭晓09年玩家最喜爱的十大网页游戏

    2009-10-17 10:28:00
  • 关于Linux网络安全的内在限制

    2009-09-19 20:03:00
  • 病毒、木马ARP攻击行为的原理分析及解决思路

    2010-02-21 08:56:00
  • Linux操作系统与命令知识汇总

    2023-07-21 17:52:46
  • World Wide Web Publishing服务无法启动

    2009-07-26 10:24:00
  • 借用SSL验证,让IIS信息访问更安全(1)

    2007-03-27 09:36:00
  • 如何去勾引百度谷歌的蜘蛛爬虫

    2009-02-24 02:58:00
  • 谈用Win2003系统配置路由服务

    2008-12-23 15:59:00
  • 基于UNIX平台FTP服务器的建立

    2007-08-24 13:35:00
  • 搜搜的SEO优化指导

    2009-09-07 15:32:00
  • 齐宁:垃圾链接依然存在 链接也能拉动内需

    2009-03-16 09:39:00
  • 彻底删除VMware虚拟机的图文教程

    2022-12-02 10:32:26
  • asp之家 网站运营 m.aspxhome.com