|
|
本帖最后由 terranboy 于 2014-1-1 17:40 编辑
* \3 h- v7 u" {( J7 W1 O5 }, l
新年第一帖,希望对大家有用。# h g! k' z* S" G5 S5 r! i! Q
! P: V y0 W0 Z
最近看到一些帖子冠以 "WORDPRESS终极优化",“提高WP速度XXX倍” 很唬人的标题,看过之后觉得有点过了,我谈一下我的理解。
1 H4 M: k' d- I+ c: n( f$ C
q2 T5 A& A+ z, E1 H D加速PHP对WP提速来说只占很小的一部分,顶多10%,这类工具有 XCACHE, EACCELATOR, APC 等等 效果都差不多 ,选一个装即可。+ B% N. k0 V7 v6 D
3 N: y- R$ r& P2 O* A, [
大部分WP慢 都是因为装的各种插件引起的 数据库插查询慢, 不信装个DEBUG插件 看下哪些地方耗时就知道了。但是如果自己不是开发者,插件是不得不装的,可以有几个选择:
% N |( Z# W% I* x; ^1 S2 |) M# F- d
首先基本的要做好: 1.内存大一点 肯定好一点+ ?1 d: {3 b V: T( r
2.PHP.ini里的MEMORY_LIMIT 改大一点
/ J3 D3 k& {- M4 K- W 3. MYSQL 的配置文件 my.cnf 要优化,不会的用 huge-my 代替
1 ~( E V2 }7 V i* Z 4. 用MARIADB替换MYSQL, 会好一点点8 N! ^+ J( R9 B! y5 S) W
5. SSD 对数据库查询要更快一点0 C' J: @/ t: R- O$ o
s: ?( p9 g7 G8 G对于非开发人员,有几个缓存插件可以选择:
+ {+ q2 G" Z& \% }% P1.WP SUPER CACHE 基于硬盘的缓存
, E9 a: L: z3 Q- ]3 B9 O2. MEMCACHED +BATCACHE 内存级缓存 (推荐用这个 小巧 简单 急速)
: |; |3 [( s- N/ m6 r- S( I7 A Q. a& \
一般的WP文章站 互动内容不多的话 这2个足够用了,评论比较频繁的可以用第三方DISQUS 之类的 ,速度完全没有问题。- [/ V! l8 L0 T' v% { f, f+ W
9 R, ]/ I) x/ j" V9 ]8 j0 @
对于动态内容比较多的,这种缓存就有问题了, 如果想让页面的某一块不能缓存 就没有办法了,这点也是我觉得WP没有DRUPAL 强的原因之一。$ f3 R3 E, m6 a5 u$ } d
+ l) z- r$ V# l9 D2 ]; J( O" z4 Q
不过最近看到一个插件fragmentcache,可以指定缓存哪一块 ,只要在模板添加一些语句就可以了,目前是基于硬盘缓存的。
. [6 E1 U' B( w; u5 v类外还有WIDGET CACHE 是缓存侧边栏的。具体根据自己站自己测试。4 |$ V) \1 k) P4 D
$ r R$ Q! t5 S, U
对于开发人员,选择就多了:1 \# R% A3 s9 E) z# n& C( h0 I" o
1.首先看引起查询慢的MYSQL语句写法有没有问题 ,可以自己去改;
# s2 Q. d; {/ v2 t. m" g2 D2.没有问题的可以用MEMCACHED缓存这个慢查询。
1 t5 s' `5 G8 @9 n* i WP自带了一个Transients API, 可以把复杂SQL查询缓存起来 ,可以设置过期时间等等,有了这个 基本上没什么问题了。6 Q4 X- ]) I/ l- E
3. 把动态的PHP改成用JS来获取 就能被缓存了。
# _( @/ e1 m# k2 p2 H
# B6 f3 v( ^/ i9 ?另外会VARNISH的可以用 VARNISH +ESI 来定制你的缓存策略,比较灵活和强大。9 D& v- M0 c' v6 s
7 \1 ], q% i4 M+ j: c3 a" d
最后要消除网络因素的影响 , 就得用CDN了。8 ^8 J9 o/ [) a
# k* N' k+ ~. r# Y* k以上插件和开源软件的用法都没有详细说明,可以自行搜索 ,网上教程很多的。) h4 ~5 r; l c# q7 m, w; s
+ z( ?: J: v4 \* m' d; ?希望这篇文章对你们有帮助。网站快了,用户用着就舒服;用着舒服, 心情就愉悦了;心情愉悦了,没准就会点你的广告买你的产品。{:soso_e100:}
# f, v' L1 K' F7 P: G3 b( }& t3 U4 M- H# @& A: e# g
|
评分
-
查看全部评分
|