【发布时间】:2022-05-22 17:58:43
【问题描述】:
我正在使用 websocket 服务器并尝试使用 python twisted + autobahn,但我相信我遇到了内存泄漏。事实上,我可以使用https://github.com/crossbario/autobahn-python/tree/master/examples/twisted/websocket/echo 上的回显代码来重现它
我看到的症状是在服务器端,连接关闭后协议实例永远不会被释放。
我尝试以各种方式对此进行检查 - 最简单的是在 del 方法中添加打印,更复杂的是使用 pdb 和 gc 进行检查。是的 - 随着连接的建立和关闭,观察进程的内存使用稳步攀升。
我期望发生的是 - 在 onClose 完成后,协议实例应该永远消失。事实上,我还有其他基于 twisted 的服务器实现(但没有高速公路 websockets),并且我已经确认它在那里是如何工作的(尽管我使用 connectionLost 代替)。
有人知道发生了什么吗?
【问题讨论】:
-
如果您在使用 autobahn-python 的纯演示代码时遇到问题,您应该file a bug report。
-
我怎么没想到!该死的好点......
标签: python websocket twisted autobahn