|
本帖最后由 terranboy 于 2014-1-1 17:40 编辑
* E2 B7 ~$ X4 d2 @# `+ P
" g2 V& g, `0 m新年第一帖,希望对大家有用。
3 b$ j3 ^- i$ d& r4 o( L
' w. U. E" t4 S) k最近看到一些帖子冠以 "WORDPRESS终极优化",“提高WP速度XXX倍” 很唬人的标题,看过之后觉得有点过了,我谈一下我的理解。
" b# n( r/ ]$ w; L+ ?7 h: ?/ D& }. J7 m
加速PHP对WP提速来说只占很小的一部分,顶多10%,这类工具有 XCACHE, EACCELATOR, APC 等等 效果都差不多 ,选一个装即可。0 x# e& K) U4 i$ h7 \
' t; d: V* Q) J% p大部分WP慢 都是因为装的各种插件引起的 数据库插查询慢, 不信装个DEBUG插件 看下哪些地方耗时就知道了。但是如果自己不是开发者,插件是不得不装的,可以有几个选择:0 u9 F9 N* P6 @+ r# ]
! P$ T+ g% f* T# r$ j' E
首先基本的要做好: 1.内存大一点 肯定好一点
* f) e# U N ?- e 2.PHP.ini里的MEMORY_LIMIT 改大一点 g' y! j5 V# H
3. MYSQL 的配置文件 my.cnf 要优化,不会的用 huge-my 代替
6 V7 X. i2 {. R$ v 4. 用MARIADB替换MYSQL, 会好一点点
6 h6 E9 E5 I+ n# c$ L f) ?" |8 R. A 5. SSD 对数据库查询要更快一点
! o4 v5 ?! j: U N
/ r; f8 q; b9 L对于非开发人员,有几个缓存插件可以选择:
- k" J7 J) f/ s8 m9 N. F9 }) C1.WP SUPER CACHE 基于硬盘的缓存
, u# m4 {8 f7 D, {2. MEMCACHED +BATCACHE 内存级缓存 (推荐用这个 小巧 简单 急速)2 w+ l8 E" A+ f4 x; ^6 A
! E+ m3 {1 F$ d! ]% S一般的WP文章站 互动内容不多的话 这2个足够用了,评论比较频繁的可以用第三方DISQUS 之类的 ,速度完全没有问题。
2 Z# B! g( J. l
4 }# @* Y% M( k; f$ a对于动态内容比较多的,这种缓存就有问题了, 如果想让页面的某一块不能缓存 就没有办法了,这点也是我觉得WP没有DRUPAL 强的原因之一。
* G0 ^8 T {0 e4 a2 n
% l) j1 S2 y, s _不过最近看到一个插件fragmentcache,可以指定缓存哪一块 ,只要在模板添加一些语句就可以了,目前是基于硬盘缓存的。
/ Z6 F2 A- x2 e类外还有WIDGET CACHE 是缓存侧边栏的。具体根据自己站自己测试。
5 E5 N2 y2 R0 G1 t, N+ |, {
7 u2 x& @: E! r; C6 l- q4 ?对于开发人员,选择就多了:
: i4 a7 @+ t9 | k" |# |1.首先看引起查询慢的MYSQL语句写法有没有问题 ,可以自己去改;+ |) N$ y& e/ t3 k5 B
2.没有问题的可以用MEMCACHED缓存这个慢查询。0 ~$ _" D+ n" P3 N; X) K& x! @2 U
WP自带了一个Transients API, 可以把复杂SQL查询缓存起来 ,可以设置过期时间等等,有了这个 基本上没什么问题了。
9 Q! L7 `8 L+ M. |8 Z& D8 `3. 把动态的PHP改成用JS来获取 就能被缓存了。1 W7 N0 q3 a4 }
( ]8 |9 j$ p2 t7 [, D- I s
另外会VARNISH的可以用 VARNISH +ESI 来定制你的缓存策略,比较灵活和强大。
8 _; w% M/ k6 I' _" }4 Z
0 q1 h+ ~, [- z7 c最后要消除网络因素的影响 , 就得用CDN了。
2 u! [7 b' @1 F6 T ?% c3 x% o' J5 H7 ]+ p8 Z
以上插件和开源软件的用法都没有详细说明,可以自行搜索 ,网上教程很多的。
" ~# C$ R9 a/ H5 K( c" B
7 B( h/ F; Y- o- G/ V希望这篇文章对你们有帮助。网站快了,用户用着就舒服;用着舒服, 心情就愉悦了;心情愉悦了,没准就会点你的广告买你的产品。{:soso_e100:}# \4 v+ Q0 w4 u. e5 Y( p2 ]& [
: H$ F/ M' T; k: q, j* R. K8 t1 H
|
评分
-
查看全部评分
|