使用webman2.1后,一段时间CPU飙升,没有处理任何请求。(已解决,swow导致,不使用别用)

富贵吉祥。

使用webman2.1后,一段时间CPU飙升,某些进程CPU飙升,没有处理任何请求。

381 1 0
1个回答

cpu 飙升的时候执行下 top 和 php start.php status 截图下。

  • 富贵吉祥。 6天前

    已编辑,贴了

  • walkor 6天前

    status 截图截全

  • 富贵吉祥。 6天前

    好了

  • walkor 6天前

    php是不是装了swow扩展,把swow扩展去掉。

  • 富贵吉祥。 5天前

    去掉swow拓展后,没有发现问题了。想知道是版本缺陷,还是其他原因,没有使用携程

  • walkor 5天前

    swow底层会自动hook php的一些阻塞函数,即使没有使用swow也会影响php的默认行为,并且它不像swoole有关闭选项。
    又因为swow没有很好的兼容php的某些默认行为,例如stream_select时信号打断处理,某些情况下消息可读事件丢失等。这会导致安装swow但是没有使用swow的eventLoop时可能会产生隐含的bug。
    因为是底层修改了PHP的默认行为,这个无法很好的在workerman层面解决。

    所以建议:

    • 不使用swow时,关闭扩展;
    • 需要使用swow时,eventLoop设置成swow。
×
🔝