hhvm3.0的坑

最近新架构升级了hhvm版本,从2.2升级到了3.0,运行环境增加了一个虚拟化用的容器,结果遇到一个诡异的现象,在基本相同代码、相同压力下,cpu消耗远大于升级前。

经过仔细排查,虚拟化容器里有不少文件是软链(这是一个兄弟部门的自研容器,有大范围的实际应用),而问题就在hhvm一个叫CheckSymLink的软链配置上,该配置项说明如下:“如果php文件或其上级目录为符号链接,则__FILE__会返回实际目录地址。但开启会影响性能,所以如果目录中没有符号链接,建议关闭CheckSymLink

阅读全文