升级到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错误。
在我的印象中,老版本没这么严重的问题。
大家怎么解决的?
1
zhj9547 2015-03-17 08:11:13 +08:00
我看 煎蛋 异次元 都挺好的啊。。。。。可以用 第三方 评论系统 畅言。。。多说。。
|
2
kungfuchicken 2015-03-17 09:49:42 +08:00 1
煎蛋的解决方案是:
php上opcache扩展 上 object-cache.php 使用 memcached 缓存 用 hyper-cache-extend 缓存页面(页面缓存文件保存在/dev/shm) 重写评论的读取逻辑(必须重写,用内核的读评论的API取评论那效率会玩死Mysql) 你可以把php-fpm的slowlog打开,跑一下压力测试,然后就能在slowlog看到是哪里的查询慢 |
3
kinhit 2015-03-17 13:15:10 +08:00
|
4
mawenjian 2015-03-17 21:03:04 +08:00
动静分离,把评论单独拿出来,放到多说或者搜狐畅言;加上现有的CDN和Cache插件,完全足够了。
|
5
Draplater 2015-03-17 22:09:36 +08:00 via Android
用静态微博吧
|
6
wangluowangwang OP @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 |