dynamic/静态页面上的间歇性巨大的TTFB

我们有一个VPS(2GB RAM / 2个vCPU)。 这是在PHP 5.6,Centos 6,Apache 2.2上的phpBB论坛。 不过有时候这个论坛的响应速度很慢。 使用Chromenetworking浏览器,我发现TTFB有时会长达30秒。 奇怪的是,caching项目也有这个问题。 (见截图)

我已经尝试过了:

由于情况并非总是如此,复制这个问题的唯一方法就是发送F5垃圾邮件,尽pipe我不确定是否真的在复制这个问题。 我可以在较小的扩展(2s ttfb)复制这与在html中复制相同的页面(删除dynamic部分)。

http://s21.postimg.org/ql6eywn3b/ttfb.png

我保持活跃(最大100秒,15秒),maxclients 30.我从哪里去?

我从哪里出发?

剖析。 有各种PHP分析工具。 我喜欢blackfire.io – 它可以很容易地找出瓶颈,无论是PHP代码,MySQL查询还是两者的组合。 没有分析,你是在黑暗中随机尝试的东西。

而不是F5ing,你也可以使用ab,yandex坦克,Siege等工具进行一些负载testing。

validation这个问题的另一件事情是真正的在webpagetest.orgtesting并重复testing多次(高级设置,运行次数)。 或通过他们的API。

这个问题是一个综合问题:

  • SSD RAID5在dd上传输速度为12,5mb / s,远远低于人们预期的水平(当前为300-600 mb / s)
  • 防火墙也有点严格,因为连接以每分钟200次的速度窒息到100次/分钟。 (iptables的)

VPS搬到了一个更好的IO,防火墙没有严格设置,问题解决了。 我也禁用了memcached,因为MySQL显然不是瓶颈)