WordPress 系统优化 优雅、稳定、快速 陈少钧 paveochen@72pines.com 2007年9月1号北京
优美、稳定、快速 WordPress系统不仅是WordPress 优雅 – 简单高效就是优美 稳定 – 任何时间、任何地点它都差不多 快速 – 让你的站点访问快如闪电 七十二松 72pines
捷径在哪? 99%的WordPress系统无需优化 WordPress本身无需优化 选择合适的主机 选择Linux 七十二松 72pines
噩梦 七十二松 72pines
好主机 Linux Apache MySQL PHP(mod or fcgi) 合理的加速 – APC or eAccelerator 、Zend Optimizer 相对可靠的网络 有信誉的专业主机提供者 Apache 1/2,PHP 4/5,MySQL 4/5 CPH主机现在大约 30 requests/sec EACC = 70%性能提高 七十二松 72pines
优雅使用WordPress 使用WordPress 2.2 轻量级的WordPress 谨慎使用插件 使用官方的源代码 + 中文MO文件 SSH and SVN SVN – 最方便的WordPress文件管理工具 七十二松 72pines
更多和更少 使用WP内置的缓存机制 // Enable the WordPress Object Cache: define(ENABLE_CACHE, true); 减少SQL查询 如果你的MySQL很好的支持InnoDB,那么请使用它 七十二松 72pines
安全 Admin SSL 避免数据库问题(定期优化表和检查表) PhpMyAdmin http://haris.tv/2007/04/24/admin-ssl-new-wordpress-plugin/ 避免数据库问题(定期优化表和检查表) PhpMyAdmin 七十二松 72pines
你的WordPress就是你的网站 来自Yahoo!的 14 Rules 不要让你的站点让其他站点拖慢 合理使用图形格式 压缩静态文件(.js .css) 推迟Javascript脚本(使用script标签的 defer属性) <script src="script.js" type="text/javascript" defer="defer"></script> 七十二松 72pines
14 Rules for High Performance Web Sites Rule 1 – 尽可能减少 HTTP 请求 Rule 2 – 使用CDN Rule 3 – 添加 Expires Header Rule 4 – 压缩静态文件(Gzip) Rule 5 – 把CSS放到页面头部 Rule 6 – 把脚本移到页面底部 Rule 7 – 避免使用CSS表达式 Rule 8 – 让JavaScript 和 CSS 成为外部文件 Rule 9 – 减少DNS查询 Rule 10 – 尽量少用JavaScript Rule 11 – 避免重定向 Rule 12 – 移除重复的脚本 Rule 13 – 关闭 ETags Rule 14 – 把AJAX 脚本变小,让它可被缓存 七十二松 72pines
http:// http:// http:// http:// http:// http:// http:// http:// 七十二松 72pines
HTTP请求 每个好看的Web页面背后有无数的HTTP请求 每个请求都占用一点时间 很多请求占用了很多的时间 有的连接看起来的确不太理想 你的站点快慢严重依赖于其它站点 那么,请减少HTTP请求 七十二松 72pines
简单配置 关闭Etag: FileETag none 压缩静态文件: mod_deflate and mod_gzip 添加 Expires Header: Mod_expires <IfModule mod_expires.c> ExpiresActive On ExpiresByType application/x-javascript A2592000 ExpiresByType text/css A2592000 ExpiresByType image/gif A604800 ExpiresByType image/png A604800 ExpiresByType image/jpeg A604800 </IfModule> 七十二松 72pines
让JavaScript 和 CSS 成为外部文件 尽量少用JavaScript 避免重定向 移除重复的脚本 把脚本移到页面底部 让JavaScript 和 CSS 成为外部文件 尽量少用JavaScript 避免重定向 移除重复的脚本 七十二松 72pines
Killer WP-Cache cos-html-cache 300 requests/sec http://mnm.uib.es/gallir/wp-cache-2/ cos-html-cache http://www.storyday.com/html/y2007/1114_cos-html-cache2.html 七十二松 72pines
WP-Cache的一个问题 七十二松 72pines
High End My WordPress 几千次每秒的请求 虚拟独享主机(VPS)或者独立主机(Dedicated Hosting) “不使用或者限制插件和图片” 静态化页面 Litespeed Load Balancing Memcache 七十二松 72pines
90%的请求是静态文件请求 分离前台和后台 Nginx Varnish or Squid 独立的MySQL数据库服务器 HyperDB MySQL Proxy 七十二松 72pines
优化MySQL key_buffer = 256M max_allowed_packet = 1M table_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size= 64M 使用InnoDB ( phpMyAdmin > table > Operations ) innodb_buffer_pool_size=512M (大于你的数据库容量) innodb_additional_mem_pool_size=20M innodb_flush_log_at_trx_commit=0 innodb_log_buffer_size=8M 七十二松 72pines
优化Apache 内存是关键 MaxClient 七十二松 72pines
还需要更多? 七十二松 72pines
let’s have a talk paveochen@gmail.com 七十二松 72pines
七十二松 72pines