php start.php status 查到有一些进程 pid老是出现busy

laozhou

问题描述

这里详细描述问题
php start.php status 查到有一些进程 pid老是出现busy, 难道是没有回收掉吗
等到全部变成busy之后 访问都访问不了

我的代码很简单,a来访问我 ,我带着他的参数去c, 做了一个中转 调用了redis 存了一下key 就没了,c可能经常链接他会超时 可能处理的慢,这样简单的业务为啥造成busy

已经不知道啥问题了,动不动就访问不了,tp虽然处理的慢,但是不会有这种问题。用不动了

608 2 0
2个回答

latin

业务代码处理的慢,或者有什么超时就会busy

  • laozhou 2023-12-29

    可是我设置了超时时间的,业务请求 链接是慢,,

  • latin 2023-12-29

    换个说法,如果执行status时业务进程正在处理业务,并且超过0.5秒没有处理完,就显示busy。
    busy就是代表业务慢,一般没有问题,业务处理完就恢复了。但是如果客户端不断发送这种慢请求,那么服务端的就会一直在busy状态,可能影响其他客户端请求。那么加进程,要么优化业务代码。

  • laozhou 2023-12-29

    redis busy

  • laozhou 2023-12-29

    6251 N/A none plugin.webman.redis-queue.consumer N/A N/A N/A N/A N/A [busy

  • laozhou 2024-01-02

    我用的webman, redis不知道有啥问题,造成业务api访问经常性的超时,而且cpu莫名会跑慢,后面换成tp 用了swolle 这个问题才好转了。。。,实在是不知道咋用的了。

meows

这不是显而易见嘛,workerman作为中间代理,但是你的下游导致io阻塞就busy了嘛。
如何解决?
使用workerman/http-client 异步去做代理就行了,要不你就用openswoole 或者 swoole swow 去处理就不会阻塞了。

  • laozhou 2023-12-29

    由于业务问题,只能同步,

  • laozhou 2023-12-29

    由于业务问题,只能同步,唉

  • 破建站的 2023-12-30

    用wokerman 5.0 协程可以帮到你 ,4.0对慢业务阻塞支持不好

  • laozhou 2023-12-30

    好吧== ,多谢各位

×
🔝