这里详细描述问题 个别进程会报 May be the send buffer are overflow ,其他进程正常,这个怎么平均处理一下
业务场景,代码,东西呢
我猜不到
这个报错里有url地址说明原因,自己看下
https://www.workerman.net/doc/gateway-worker/send-buffer-overflow.html
php start.php status 看看是不是有businessworker 发生阻塞。 这时候应该有businessworker 处于 [busy] 状态,产生这个问题的原因: 客户端数据发送到Gateway网关,网关转发给businesswroker 运行业务,但是业务逻辑进程发生阻塞, gateway 网关数据积压过多,gateway进程就报这个错误了。
你得看看是什么原因阻塞的,还有htop 等等命令看看这个进程PID是否属于CPU占用过高, 一般CPU过高就是业务逻辑导致负载,这种情况只能想办法负载均衡到其它进程,如果这个进程占用率低那就是网络阻塞导致businessworker 无法正常工作,那你就要处理一下网络IO的问题了。
gateway 支持负载均衡,默认是随机分配,可以自己实现负载均衡。
这个怎么把该进程负载均衡到其它进程? 进程cpu占的还是挺高的
截图我附上了
业务场景,代码,东西呢
我猜不到
这个报错里有url地址说明原因,自己看下
https://www.workerman.net/doc/gateway-worker/send-buffer-overflow.html
php start.php status 看看是不是有businessworker 发生阻塞。
这时候应该有businessworker 处于 [busy] 状态,产生这个问题的原因:
客户端数据发送到Gateway网关,网关转发给businesswroker 运行业务,但是业务逻辑进程发生阻塞,
gateway 网关数据积压过多,gateway进程就报这个错误了。
你得看看是什么原因阻塞的,还有htop 等等命令看看这个进程PID是否属于CPU占用过高,
一般CPU过高就是业务逻辑导致负载,这种情况只能想办法负载均衡到其它进程,如果这个进程占用率低那就是网络阻塞导致businessworker 无法正常工作,那你就要处理一下网络IO的问题了。
gateway 支持负载均衡,默认是随机分配,可以自己实现负载均衡。
这个怎么把该进程负载均衡到其它进程? 进程cpu占的还是挺高的
截图我附上了