有幾個疑問,不知道是不是造成內存持續(xù)增長的原因
以下是大致的消息處理流程
在 Events.php 里,每秒發(fā)送數(shù)據(jù)的次數(shù)在3-8次左右,每次發(fā)送的數(shù)據(jù)量不大。
設備有兩種數(shù)據(jù)處理方式
其中一類處理,頻繁的數(shù)據(jù)轉發(fā)到組。
另一類處理,頻繁的操作redis(出隊入隊)、更新session數(shù)據(jù)。
不知道是在哪里的代碼有問題,memory_limit 已經設置到800M啦
感謝回答的各位!
我使用TP6 結合 workerman 開啟了websocket 協(xié)議,作為服務端給客戶端推送數(shù)據(jù)。
同時服務器又作為客戶端訂閱了火幣網的數(shù)據(jù)作為數(shù)據(jù)源。
轉發(fā)數(shù)據(jù)過程沒有存儲數(shù)據(jù),來多少數(shù)據(jù)轉發(fā)多少數(shù)據(jù)。
我分別在三個服務器部署了這套腳本。
除了每個服務器開放的端口不同外,其他代碼一摸一樣。
問題是,前兩個服務器運行很正常,無論接收多少請求,使用php think xxxx status 查看運行狀態(tài) memory 都是維持在8M,然而最后一個服務器開啟后 memory 隨著total_request 不斷增長。
如果不限制php.ini memory_limit 的值 內存會一直增長 直到耗盡 然后會自動重啟 繼續(xù)開始增長,如此往復。
我覺得workerman 本身沒有問題. linux系統(tǒng)環(huán)境方面考慮 是否有什么思路可以去排查,求大佬指引方向。