看板 Python 關於我們 聯絡資訊
請問做為寫伺服器之類的,除了Twisted以外還有哪些不錯的選擇? 可以推薦一下嗎? 我有用twisted寫很多伺服器,大部份都運作很好 但有個問題,就是記憶體暴增太快 我有一個音訊廣播的伺服器 我發現這伺服器記憶體用量的暴增速度真的很快 一下子就漲到了一百多MB 接著就被我主機商的watch dog kill了 我猜想原因是這樣 因為很多人網路速度不是很順暢 他們可能一直都來不及讀音訊 但新的音訊又一直進來 如此一來造成舊的音訊一直堆積 新的又一直進來 導至server記憶體使用量一下子就突破很不何理的百MB 加上,因為是廣播伺服器,一份音訊進來會播給n個聽眾 我在想同樣的音訊,被塞進每個連線的buffer裡 都重覆了,即使他們是一樣的內容 這也造成了記憶體用量暴多的原因之一 twisted真的很好用,很好寫,也很有效率 但因太高階,對於這些較低階細節好像就無解= = 除非自己去改底層 所以我想試看看有沒有twisted以外的選擇 做為寫伺服器和網路程式的用途 雖然說可以直接用socket寫,一切都在我掌控中 但那又太囉唆 因此請推薦twisted以外好用的packages 謝謝 -- 哇咧咧 創意投票系統 http://walele.com 易記學 程式設計教學 http://ez2learn.com/ 易記學 程式設計討論區 http://forum.ez2learn.com VICTOR's 個人Blog http://blog.ez2learn.com/ 財報分析王 http://victorlin.serveftp.org/stock/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.170.93.54
yoco315:江狗 qq 11/09 19:58
yungyuc:Python 一向很吃 ram,100MB 也沒多大 11/09 20:40
yungyuc:音訊訊號又本來就很大,你最好先跑 profiler 看看 ... 11/09 20:40
StubbornLin:江狗是什麼@@? 11/09 22:25
StubbornLin:音訊是已經用mp3編碼後的 應該沒這麼大= = 11/09 22:26
StubbornLin:我已經加了guppy在間隔時間內dump heap來看看了 11/09 22:26
qrtt1:100mb 蠻小的耶 11/09 22:53
StubbornLin:可是相對的其它伺服器用量都只有幾十MB = = 11/09 23:14
godfat:django i suppose. 我也不覺得 100M 會很大 :/ 11/10 00:43
superGA:為什麼twisted是伺服器 我看了一下比較像是非同步框架 11/10 00:46
superGA:又看了一下 原來真的可以當server= = 11/10 00:51
superGA:django不是server喔 沒有處理非同步事件 是不同層面的東西 11/10 00:53
superGA:如果你是走http的話直接用apache或nginx不能嗎? 11/10 01:11
StubbornLin:不能 架構不適合 音訊伺服器的http連線一直都在 11/10 01:13
StubbornLin:不像常見的網頁request 通常短時間內做完就算了 11/10 01:13
StubbornLin:一個listener進來收聽會聽很久 apache用的是worker 11/10 01:13
StubbornLin:的架構 每個request佔一個thread 當人數一多 11/10 01:14
StubbornLin:就會有非常多的worker 也就是thread = = 11/10 01:14
StubbornLin:網站在此 http://now.in/ 11/10 01:14
StubbornLin:100MB對我租的webfaction算是很多 囧 11/10 01:16
StubbornLin:三不五時如果我的server用量超過 就會被watch dog砍 11/10 01:17
superGA:我的意思是如果你沒有特殊需求 那應該已經有你要得server 11/10 01:19
superGA:沒必要重頭來過 你google streaming server應該有 11/10 01:19
StubbornLin:特殊需求當然是有 所以整個架構都是我重頭設計的 = = 11/10 01:25
StubbornLin:我也知道有現成的可以改 不過我評估過 11/10 01:27
StubbornLin:就算我去讀懂那些現成的東西改成我要的 11/10 01:27
StubbornLin:也不會比我重頭自己設計和實作來得快和容易掌握 11/10 01:27
superGA:你的需求是什麼? 11/10 01:54