Q
維護視頻網站性能
1
A
回答
0
你在IIS7的Windows上託管這個嗎?如果是這樣的話,他們有一個IIS模塊可以對視頻進行限制,所以它不會流得更快,那麼用戶實際上可以觀看它。
0
高性能的一個解決方案是使用數據分發服務,如Akamai。他們提供遍佈全球的服務器空間,他們已經解決了性能問題。而且,由於他們在全球擁有數據中心,因此您的數據不必走很遠,這對互聯網和您都有好處(因爲Akamai可以爲相同數量的數據收取較低的費用)。
1
當所有用戶請求相同的視頻時,您的解決方案將無法正常工作。更好的解決方案是在所有服務器上都可以使用所有視頻,並使用負載平衡服務器將當前請求重定向到打開最少數量的服務器的服務器。請注意,存儲後端(RAID陣列,SAN)可以以非常高的速率傳輸數據,因此您經常可以使用一個存儲系統爲多個視頻服務器(即每N個視頻服務器一個存儲系統和1個負載平衡器(如果需要故障轉移,則爲兩個))。
這裏一個好的解決方案是具有在協議的「重定向」命令:
- 客戶端請求的視頻
- LB告訴客戶端視頻服務器(VS)要使用的負載平衡器(LB)。這是一個簡單的「查找與最低數量的開放飼料VS」。
- 客戶端直接連接到VS(以避免所有開銷)
- VS告訴LB當前量開飼料(不要用一種漸進的辦法在這裏以避免同步問題)
- VS開始流數據到客戶
- 當客戶端斷開,VS告訴飼料
[編輯]主要的原因,以獲得客戶端直接連接到視頻服務器的新號碼的LB是網絡吞吐量。如果所有的VS都將數據發送給將它傳遞給客戶端的LB,那麼您將自己限制爲LB的單個(或雙)網卡的速度。如果您有5個VS,則直接連接時可以獲得5倍的吞吐量。此外,當更多用戶敲擊它時,只需添加另一臺視頻服務器,將其插入骨幹網並在LB上添加一個條目,即可輕鬆擴展您的系統。
1
如果您的用戶遍佈全球,請嘗試亞馬遜的CloudFront(CDN)。如果您的用戶已本地化(美國/歐洲),則可以使用S3。
此外,你也可以嘗試使用Nginx(一個網絡服務器),這是非常有效的服務大型文件。
這樣,您不必在應用程序中處理不必要的架構複雜性。
相關問題
- 1. 保護我的網站上的視頻?
- 2. 網站停機維護
- 3. 如何維護.NET網站?
- 4. ASP.NET網站維護提示
- 5. REST:處理網站維護
- 6. Eclipse性能維護
- 7. 維護前幾小時顯示網站維護通知
- 8. 維護視頻文件的ViewCount數量
- 9. 如何構建一個視頻網站,從性能的角度
- 10. 如何爲網站維護文檔?
- 11. 在Asp.Net MVC網站維護狀態
- 12. 維護網站類的最佳實踐
- 13. 將「網站維護」分頁SEO?
- 14. 網站維護登陸頁面
- 15. Wordpress網站卡在維護模式
- 16. 維護平臺更改網站的SEO?
- 17. 如何維護社交網站?
- 18. ASP.MVC2.0/EF4.0網站部署/維護
- 19. 使用Git來維護網站
- 20. apache配置網站維護頁面
- 21. 將網站置於維護模式?
- 22. Symfony2'維護中的網站'頁面
- 23. 如何爲Windows Azure網站實施「正在維護的網站」?
- 24. 如何在教育門戶網站上保護在線視頻?
- 25. 可維護性
- 26. 視頻分享網站
- 27. 網站中的視頻
- 28. 視頻連續asp.net網站
- 29. 添加視頻到網站
- 30. 視頻嵌入網站
我已經更新了您的問題,並附有您評論中的重要信息!您能否提供更多信息,瞭解您期望達到頂峯的用戶數量以及您使用的是什麼技術(Flash視頻?Windows Media?) – 2009-02-12 12:37:20
嗨保羅!感謝您的關注。我更喜歡使用Flash,但使用Silverlight也很好。在當前的估計中,峯值用戶數可能大約爲1000。任何技術想法? – George2 2009-02-12 12:51:23