我们在 debian 8 系统上使用 php5-fpm(5.6)运行 nginx / 1.6.2 。
在过去的几天里,由于更多的用户访问我们的服务器,我们的负载比平常高。大多数访客在晚上6点至午夜之间来访。
几天以来,运行上述设置的两台不同服务器在几个小时内显示出非常慢的响应速度。在Munin,我们看到,在“写作”状态下突然有<数百个nginx连接,以前一次只有大约20个。
在尝试访问这些服务器时,除了远程主机上的超时连接之外,我们不会收到任何错误。我看到的所有日志都很正常。
问题可以通过重启php5-fpm来解决。
我的问题现在是:为什么突然有数百个流程宣称他们正在撰写?是否有一些已知的问题或者我们错过的配置设置可能导致此问题?
以下是我们看到的症状的完整列表:
对于设置: 如上所述。我们使用Zend的内置操作码缓存,APCu用于某些用户变量缓存,其中一个服务器运行一个memcache实例(在整个问题中工作正常),另一个运行Redis版本,该版本也运行正常问题发生了。
任何人都可以解决问题所在吗?
谢谢!
答案 0 :(得分:0)
我们发现了问题:使用PHP 5.6,APCu似乎不稳定。
详细说明:
我们使用xhprof在服务器缓慢时查询请求(请参阅问题)并注意到,APCu采用&gt;每次读/写操作100ms。清除APCu变量没有帮助。代码的所有其他部分都具有正常的速度。
我们完全禁止使用APCu,系统一直稳定。
看来,这个APCu版本在PHP 5.6负载下不稳定。至少对我们而言。
答案 1 :(得分:0)
我们遇到了同样的问题,其原因是Redis中的数据超过了“最大内存”,因此redis无法再写入任何数据。我可以使用redis-cli登录,但无法设置值,如果遇到此问题,可以使用redis-cli登录到redis并尝试进行设置,如果redis内存已满,则会出现错误。