当Swoole在重载和重请求时,我一直得到以下日志:
2021-01-24 16:07:22 *33833.2通知完成(ERRNO 1005):session#21022不存在
2021-01-24 16:07:22 *33833.2通知完成(ERRNO 1005):session#21022不存在
2021-01-24 16:07:22 *33833.2通知完成(ERRNO 1005):session#21022不存在
2021-01-24 16:07:22 *33833.2通知完成(ERRNO 1005):session#21022不存在
2021-01-24 16:07:39 *33835.4通知完成(ERRNO 1005):session#21025不存在
2021-01-24 16:07:39 *33835.4通知完成(ERRNO 1005):session#21025不存在
2021-01-24 16:07:39 *33835.4公告结束(ERRNO 1005):session21025关闭
或
2021-01-23 14:07:22 *5300.3公告php_swoole_http_onReceive (ERRNO 1005):session10002关闭
2021-01-23 14:07:22 *5300.3公告php_swoole_http_onReceive (ERRNO 1005):session10042已关闭
2021-01-23 14:08:21 *5326.29公告php_swoole_http_onReceive (ERRNO 1005):session10508已关闭
2021-01-23 14:18:15 *5333.36通知完成(ERRNO 1005):session#12755不存在
2021-01-23 14:18:15 *5333.36通告结束(ERRNO 1005):session12755 is
例如,我用1k并发请求发送总共500 k请求,它记录这个错误并挂起!突然挂起来了!
我的服务器是Centos 7,8G内存和4核CPU。
斯伍尔有40名工人,+ 30名主要工人和8名反应堆。
即使在生产中,这种情况也会发生。
有人能帮我或者解释一下为什么会发生这种事吗?也许我该怎么解决呢?
谢谢。
发布于 2021-01-24 19:12:49
好的,我发现问题出在哪里了。实际上,这不是Swoole或我的应用程序中的一个bug。它是一个通知日志,可以使用Swoole服务器配置的log_level属性禁用。当客户端关闭swoole选项卡或浏览器(关闭客户端连接)时,就会发生这种情况,因此它被断开连接,因此Swoole无法检索用户会话并记录此通知。另外,如果您正在使用Apache或WRK这样的工作台标记工具,如果出现问题,这些测试人员将终止所有其他请求并停止整个测试。因此会话被关闭并再次写入日志。
https://stackoverflow.com/questions/65870949
复制相似问题