wordpress 吃资源真是吃到爆,各种无奈,,,

2015-03-17 01:37:59 +08:00
 wangluowangwang

升级到4.1.1,结果问题粗鸟。
已经上网宿cdn,已经上opcache,已经上wp super cache,已经生成静态(除了评论),发现蜘蛛爬的时候cpu爆表。如果普通访问,cpu瞬间飙升到90后立即回落。观察mysql大概占用20-30,其余都是php进程。研究发现评论部分每次加载最慢,此时cpu最高,可以确定首要问题在于这部分。

此时的cdn意义其实不大,主要的瓶颈在于对动态资源的处理上。mysql优化过都压不住它.
关于mysql性能,测试在3g大小数据库的情况下对数据查询,基本上数据缓存后查询过程cpu波动不大,10%以下。使用phpwind程序,以及模拟100个用户同时访问,整体cpu在70-90,而在wp下,数据库才20多m,模拟10个用户同时并发访问,除了资源吃满,异常慢还有可能出现500错误。

在我的印象中,老版本没这么严重的问题。

大家怎么解决的?

4004 次点击
所在节点    PHP
6 条回复
zhj9547
2015-03-17 08:11:13 +08:00
我看 煎蛋 异次元 都挺好的啊。。。。。可以用 第三方 评论系统 畅言。。。多说。。
kungfuchicken
2015-03-17 09:49:42 +08:00
煎蛋的解决方案是:
php上opcache扩展
上 object-cache.php 使用 memcached 缓存
用 hyper-cache-extend 缓存页面(页面缓存文件保存在/dev/shm)
重写评论的读取逻辑(必须重写,用内核的读评论的API取评论那效率会玩死Mysql)

你可以把php-fpm的slowlog打开,跑一下压力测试,然后就能在slowlog看到是哪里的查询慢
kinhit
2015-03-17 13:15:10 +08:00
我也是小配置网站,用的W3 Total Cache,又拍的CDN,Xcache
用下面这个免费50个VU测试的没啥问题。
loadimpact.com
mawenjian
2015-03-17 21:03:04 +08:00
动静分离,把评论单独拿出来,放到多说或者搜狐畅言;加上现有的CDN和Cache插件,完全足够了。
Draplater
2015-03-17 22:09:36 +08:00
用静态微博吧
wangluowangwang
2015-03-17 22:44:53 +08:00
@kinhit 这个是一个一个页面刷,不是同时

Initializing test...
Booting load generators...
Waiting for load generators...
Waiting for load generators... 100%
* Ashburn, US online
Deploying test config...
Deploying test config... 100%
* Ashburn, US ready
Running
Waiting for load generators...
Waiting for load generators... 100%
* Ashburn, US offline
Cleaning up...
Cleaning up... 100%
* Ashburn, US done
Test finished

General stats
0
ACTIVE VUS
0 /s
BANDWIDTH USAGE
0
ACTIVE TCP CONNECTIONS
39.08 MB
DATA RECEIVED
2348 reqs
REQUESTS MADE
0 reqs/s
REQUEST RATE

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/177412

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX