【问题标题】:PHP Swoole Notice ERRNO 1005PHP Swoole 通知 ERRNO 1005
【发布时间】:2021-01-24 13:12:30
【问题描述】:

当 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):会话 [21025] 关门了



[2021-01-23 14:07:22 *5300.3] 通知 php_swoole_http_onReceive (ERRNO 1005): 会话 [10002] 已关闭
[2021-01-23 14:07:22 *5300.3] 通知 php_swoole_http_onReceive (ERRNO 1005):会话 [10042] 已关闭
[2021-01-23 14:08:21 *5326.29] 通知 php_swoole_http_onReceive (ERRNO 1005):会话 [10508] 已关闭
[2021-01-23 14:18:15 *5333.36] 通知结束 (ERRNO 1005):会话#12755 不存在
[2021-01-23 14:18:15 *5333.36] 通知结束 (ERRNO 1005): 会话[12755] 已关闭

在示例中,我总共发送了 500k 个请求和 1k 个并发请求,它会记录此错误并挂起! 突然它挂了!
我的服务器是 Centos 7、8 GB RAM 和 4 个 CPU 核心。
Swoole 有 40 个 worker,+ 30 个 Master-Worker 和 8 个 Reactor。
即使在生产中也会发生这种情况。
有人可以帮助我或解释为什么会发生这种情况,也许我该如何解决?
谢谢。

【问题讨论】:

    标签: php lumen swoole


    【解决方案1】:

    好的,我发现问题出在哪里。实际上这不是 Swoole 或我的应用程序中的错误。这是一个通知日志,可以通过 Swoole 服务器配置的 log_level 属性禁用。 当客户端关闭 swoole 选项卡或浏览器(关闭客户端连接)时会发生这种情况,因此它会断开连接,因此 Swoole 无法检索用户会话并记录此通知。 此外,如果您使用的是 Apache ab 或 WRK 等基准测试工具,如果出现问题,这些测试人员将终止所有其他请求并停止整个测试。因此会话关闭并再次写入日志。

    【讨论】:

      猜你喜欢
      • 2018-04-14
      • 2016-07-27
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 2016-09-07
      • 2016-08-10
      相关资源
      最近更新 更多