[問題] Twisted以外的選擇?

看板Python作者 (Victor)時間16年前 (2009/11/09 17:55), 編輯推噓7(7021)
留言28則, 6人參與, 最新討論串1/1
請問做為寫伺服器之類的,除了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

11/09 19:58, , 1F
江狗 qq
11/09 19:58, 1F

11/09 20:40, , 2F
Python 一向很吃 ram,100MB 也沒多大
11/09 20:40, 2F

11/09 20:40, , 3F
音訊訊號又本來就很大,你最好先跑 profiler 看看 ...
11/09 20:40, 3F

11/09 22:25, , 4F
江狗是什麼@@?
11/09 22:25, 4F

11/09 22:26, , 5F
音訊是已經用mp3編碼後的 應該沒這麼大= =
11/09 22:26, 5F

11/09 22:26, , 6F
我已經加了guppy在間隔時間內dump heap來看看了
11/09 22:26, 6F

11/09 22:53, , 7F
100mb 蠻小的耶
11/09 22:53, 7F

11/09 23:14, , 8F
可是相對的其它伺服器用量都只有幾十MB = =
11/09 23:14, 8F

11/10 00:43, , 9F
django i suppose. 我也不覺得 100M 會很大 :/
11/10 00:43, 9F

11/10 00:46, , 10F
為什麼twisted是伺服器 我看了一下比較像是非同步框架
11/10 00:46, 10F

11/10 00:51, , 11F
又看了一下 原來真的可以當server= =
11/10 00:51, 11F

11/10 00:53, , 12F
django不是server喔 沒有處理非同步事件 是不同層面的東西
11/10 00:53, 12F

11/10 01:11, , 13F
如果你是走http的話直接用apache或nginx不能嗎?
11/10 01:11, 13F

11/10 01:13, , 14F
不能 架構不適合 音訊伺服器的http連線一直都在
11/10 01:13, 14F

11/10 01:13, , 15F
不像常見的網頁request 通常短時間內做完就算了
11/10 01:13, 15F

11/10 01:13, , 16F
一個listener進來收聽會聽很久 apache用的是worker
11/10 01:13, 16F

11/10 01:14, , 17F
的架構 每個request佔一個thread 當人數一多
11/10 01:14, 17F

11/10 01:14, , 18F
就會有非常多的worker 也就是thread = =
11/10 01:14, 18F

11/10 01:14, , 19F
網站在此 http://now.in/
11/10 01:14, 19F

11/10 01:16, , 20F
100MB對我租的webfaction算是很多 囧
11/10 01:16, 20F

11/10 01:17, , 21F
三不五時如果我的server用量超過 就會被watch dog砍
11/10 01:17, 21F

11/10 01:19, , 22F
我的意思是如果你沒有特殊需求 那應該已經有你要得server
11/10 01:19, 22F

11/10 01:19, , 23F
沒必要重頭來過 你google streaming server應該有
11/10 01:19, 23F

11/10 01:25, , 24F
特殊需求當然是有 所以整個架構都是我重頭設計的 = =
11/10 01:25, 24F

11/10 01:27, , 25F
我也知道有現成的可以改 不過我評估過
11/10 01:27, 25F

11/10 01:27, , 26F
就算我去讀懂那些現成的東西改成我要的
11/10 01:27, 26F

11/10 01:27, , 27F
也不會比我重頭自己設計和實作來得快和容易掌握
11/10 01:27, 27F

11/10 01:54, , 28F
你的需求是什麼?
11/10 01:54, 28F
文章代碼(AID): #1Az-RwVx (Python)
文章代碼(AID): #1Az-RwVx (Python)