簡體   English   中英

Autobahn Twisted WebSocket 內存泄漏

[英]Autobahn Twisted WebSocket memory leak

我正在使用 websocket 服務器並嘗試使用 python twisted + autobahn 但我相信我遇到了內存泄漏。 事實上,我能夠使用https://github.com/crossbario/autobahn-python/tree/master/examples/twisted/websocket/echo上的 echo 代碼重現它

我看到的症狀是,在服務器端,連接關閉后協議實例永遠不會被釋放。

我嘗試以各種方式對此進行檢查 - 最簡單的是在del方法中添加打印,更復雜的是使用 pdb 和 gc 進行檢查。 是的 - 觀察過程的內存使用隨着連接的建立和關閉而穩步攀升。

我期望發生的是 - 在 onClose 完成后,協議實例應該永遠消失。 事實上,我有其他基於扭曲的服務器實現(但沒有高速公路 websockets),我已經確認它在那里工作的方式(盡管我使用 connectionLost 代替)。

有誰知道發生了什么?

我遇到了將實時數據分發給客戶端的高速公路網絡套接字服務器的內存溢出問題。 然而,問題在於保持連接打開但無法使用數據的客戶端。

這導致內存在服務器端不斷累積。 我能夠通過找到負責保存緩沖區數據的變量來解決這個問題。 它是來自傳輸層的 transport._tempDataBuffer 變量。 通過定義緩沖區的最大大小限制並在滿時清除它,為我解決了這個問題。

不知道你指的是不是同一個問題,看看有沒有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM