|
|
本帖最后由 terranboy 于 2014-1-1 17:40 编辑
% ~* J, B) `3 M& j/ T* g8 R/ q" X9 d* g. T! ~5 @3 G
新年第一帖,希望对大家有用。
. @$ z. @9 x4 r& g9 \, O
6 E' C1 }/ m1 J9 N最近看到一些帖子冠以 "WORDPRESS终极优化",“提高WP速度XXX倍” 很唬人的标题,看过之后觉得有点过了,我谈一下我的理解。
/ N9 R2 B9 `) M& D
6 U+ f4 R( q" \ T: D9 }, @7 _加速PHP对WP提速来说只占很小的一部分,顶多10%,这类工具有 XCACHE, EACCELATOR, APC 等等 效果都差不多 ,选一个装即可。
4 j3 `2 e- Z# q9 h( I; L# R* x N7 \1 [
大部分WP慢 都是因为装的各种插件引起的 数据库插查询慢, 不信装个DEBUG插件 看下哪些地方耗时就知道了。但是如果自己不是开发者,插件是不得不装的,可以有几个选择:, s4 X, t W: ~) u
: K. m8 o. C+ y, Q- T$ d
首先基本的要做好: 1.内存大一点 肯定好一点
4 `; k* I- ~3 h+ F 2.PHP.ini里的MEMORY_LIMIT 改大一点7 b- a1 N" h+ q, m2 @$ Q) Q
3. MYSQL 的配置文件 my.cnf 要优化,不会的用 huge-my 代替
2 j' l5 u! F4 ]+ X+ y1 S 4. 用MARIADB替换MYSQL, 会好一点点1 J8 b @3 B# ~, e. r
5. SSD 对数据库查询要更快一点
) }+ P5 K o6 Q
# t$ D9 I7 J" ^9 E# ]对于非开发人员,有几个缓存插件可以选择:
, Z/ Q' Y% t7 S# |( |1.WP SUPER CACHE 基于硬盘的缓存
& c3 }, U' z8 o4 ], O2. MEMCACHED +BATCACHE 内存级缓存 (推荐用这个 小巧 简单 急速)
. S! J9 ]) l- x4 `0 i
5 a }. U0 p/ g' f" d2 y2 f, \一般的WP文章站 互动内容不多的话 这2个足够用了,评论比较频繁的可以用第三方DISQUS 之类的 ,速度完全没有问题。
+ v3 ~+ D0 m- G" I* Y( G+ k8 ?. R# ~9 B0 o( U e) ~0 {, O% ~
对于动态内容比较多的,这种缓存就有问题了, 如果想让页面的某一块不能缓存 就没有办法了,这点也是我觉得WP没有DRUPAL 强的原因之一。% A$ R! B1 H/ k
$ P0 u( g1 R, |; I不过最近看到一个插件fragmentcache,可以指定缓存哪一块 ,只要在模板添加一些语句就可以了,目前是基于硬盘缓存的。
( O* `. S6 m2 u类外还有WIDGET CACHE 是缓存侧边栏的。具体根据自己站自己测试。, A# o! p. Q0 l2 G+ D8 Z
. ~3 {1 p) C" m: f6 d- F
对于开发人员,选择就多了:
: f* [: R$ z# Z5 ~1.首先看引起查询慢的MYSQL语句写法有没有问题 ,可以自己去改;* O0 E: b7 e0 f
2.没有问题的可以用MEMCACHED缓存这个慢查询。4 [: ?: d: S5 [1 j& e
WP自带了一个Transients API, 可以把复杂SQL查询缓存起来 ,可以设置过期时间等等,有了这个 基本上没什么问题了。) b3 s0 r, g+ O% q" n( k' C% c& U
3. 把动态的PHP改成用JS来获取 就能被缓存了。
% ?, L1 s) a5 }# d3 y" F) K6 a
另外会VARNISH的可以用 VARNISH +ESI 来定制你的缓存策略,比较灵活和强大。6 O. M" o3 B2 ~) x; c/ A
) f2 ]% z2 \( n, m' N最后要消除网络因素的影响 , 就得用CDN了。
; |# b6 k7 m1 g% a) C% E+ i5 p' U3 O. }1 I6 T
以上插件和开源软件的用法都没有详细说明,可以自行搜索 ,网上教程很多的。
; Z5 G+ d7 h2 \* [0 g% r( x) B, H9 e: m+ Q6 \
希望这篇文章对你们有帮助。网站快了,用户用着就舒服;用着舒服, 心情就愉悦了;心情愉悦了,没准就会点你的广告买你的产品。{:soso_e100:}& E; I G" Y/ J
' u' Y+ z" A& a4 n% L |
评分
-
查看全部评分
|