linux worker+phpsocket 搭建的客服系統(tǒng).
服務(wù)器配置 8G內(nèi)存 4核CUP .帶寬5M
平均在線人數(shù). 用workerman 查看 是 450上下.總?cè)藬?shù)23W,運行時間大概3個小時,導致8G內(nèi)存被占滿...報警..
請問大神.這個情況是合理的嗎?求大神支招...
報警的時候運行 top 貼下看看。 要看是什么占用的內(nèi)存。
PHP ...占內(nèi)存
內(nèi)存報警時 top 貼下把。
如果是php占用內(nèi)存,應(yīng)該是你業(yè)務(wù)代碼寫的有內(nèi)存泄漏,比如向一個全局數(shù)組不停的添加元素,又不刪除。
一會報警了.我記錄一下.目前還沒報警.就是說 光是socket 不會導致內(nèi)存報警是嗎?那我找找業(yè)務(wù)邏輯問題
workerman自身沒有內(nèi)存泄漏,如果是php占用內(nèi)存不斷增長,則可能是業(yè)務(wù)代碼問題。 一般來說一個php進程占用內(nèi)存在5-100M都算正常的,只要不是一直不停的增長就沒事。
一直不停的增長....
站上有個小蝌蚪聊天室.就是依照那個更改的....stare_io.php 基本邏輯跟小蝌蚪聊天室的一樣.就是添加了幾個SQL 語句.
不要用phpsocket.io了,phpsocket.io有可能有內(nèi)存泄漏。
用workerman或者gatewayWorker
.....都成型了.不好改..
嘗試把業(yè)務(wù)都去掉試下吧,看看去掉業(yè)務(wù)有沒有問題,你的問題說不準是業(yè)務(wù)導致的還是phpsocket.io的問題。
好的.感謝.