作者smfy (光波記憶)
看板PHP
標題Re: [請益] PHP大量長時間連線的可行性?
時間Wed Oct 24 09:16:49 2012
: : → hSATAC:連線數佔滿/http timeout 沒什麼問題 就加機器或改架構 10/22 16:15
: : 推 Jerr:用CLI, 然後注意一下code有沒有memory leak.. 10/22 16:28
: ︿︿︿︿︿︿︿︿︿︿︿︿︿︿︿︿︿
: : → smfy:是說php這種架構可行嗎? 比方說一台server容納數千人左右的長 10/22 17:40
: : → smfy:時間連線 比較怕的就是php開那麼多連線本身就撐不住 10/22 17:41
: 寫php 的人比較沒有memory控制的問題, connect close 記憶體就放回來
: 但寫socket server 就沒這回事了, 在while 裡面有一個 db connect
: 你就等著爆. 沒有 result_free 你也等著爆.
: 變數, array 控制不好 也等著爆
: 沒有檢查 db connect alive 也等死.
: 所以如果要寫 socket server 思維要改一下.
其實我的 PHP 檔可能就只是一個 while(true) 無窮迴圈
裡面就是一個 socket_read 永久去等連線的Server的資料
再 echo 到網頁上 不做其他的事
除非網頁關掉 不然不會 connect close
所以才想說太多連線會不會出問題
比如說一台主機可以容納數千人開著網頁
: : 推 LaPass:orz..... 像這種需求為什麼非得用PHP不可啊..... 10/23 23:22
: 我只能說無聊人&懶人很多, 不然 php & node.js 為啥會出來?
: 我還用過 php 寫 win ap (php-gtk)勒
: 有時候是知道可以這樣作, 雖然工具不是100分, 但為了快就上了
用這個需求的原因有兩個
1. 主管要求的...(所以沒辦法還是要弄)
2. 所有的 Server 是隱藏在 port 80 後面,
只能依靠 PHP 去連線到這些 Server 取得資料
可能比較安全吧 (我猜)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 222.157.252.2
1F:→ LaPass:主管要求就沒辦法了..... 囧" 10/24 09:25
2F:推 alpe:這樣大概一台可以吃到1k~2k人吧. 不幸一點1k多一些 10/24 10:04
3F:→ mervynW:一般的comet server都是這樣做的 10/24 11:01