Swoole WARNING Worker_discard_data (ERRNO 1007): [2] ignore data
常见于:
浏览器疯狂刷新页面 (还没加载完就刷掉了)
ab 压测到一半取消
wrk 基于时间的压测 (时间到了未完成的请求会被取消)
以上几种情况均属于正常现象,可以忽略,所以该错误的级别是 NOTICE
如由于其它情况无缘无故出现大量连接断开时,才需要注意
WARNING swWorker_discard_data (ERRNO 1007): [2] received the wrong data[21 bytes] from socket#75
WARNING Worker_discard_data (ERRNO 1007): [2] ignore data[5 bytes] received from session#2
Copy to clipboardErrorCopied
同样的,这个错误也表示连接已经关闭了,收到的数据会被丢弃。参考 discard_timeout_request
discard_timeout_request
丢弃已关闭链接的数据请求。【默认值:true
】
Swoole
在配置 dispatch_mode=1
或 3
后,系统无法保证 onConnect
/onReceive
/onClose
的顺序,因此可能会有一些请求数据在连接关闭后,才能到达 Worker
进程。
提示 :
discard_timeout_request
配置默认为 true
,表示如果 worker
进程收到了已关闭连接的数据请求,将自动丢弃。discard_timeout_request
如果设置为 false
,表示无论连接是否关闭 Worker
进程都会处理数据请求。