Smooth Streaming 如何壓力測試

Smooth Streaming 如何壓力測試

上個月從章老師接了一個新課題, Smooth Streaming 應該要如何進行壓力測試?

經過兩天的洗禮,總算了解背後的運作機制和驗證是否其可行性

首先還是先說明一下 Smooth Streaming 是怎麼運作的

Smooth Streaming 是 Host 在 IIS ( 7 以上 ) 並搭配 IIS Media Pack 可以提供視訊串流服務

而其中串流則是每兩秒分別向 Server 用 Http Request 要了 Video 和 Audio

也因為用了 HTTP 所以在架構上也支援 HTTP Proxy ( 如下圖 )

可以大幅減少 Server 的負擔

image 
進一步的文件請參考 http://learn.iis.net/page.aspx/684/smooth-streaming-transport-protocol/

而怎麼驗證文件中是真的呢?可以去看 IIS Log

image
%SystemDrive%\inetpub\logs\LogFiles   (請到此路徑就可以看到)

即然大致上知道 Server 背後的機制後,現在的問題就是要看看在 Silverlight 播放的視訊是否能抓得到

馬上就帶著忐忑不安的心情,用 VS 2010 進行驗證吧!

image
喔耶!太棒了!即使在 Silverlight 中一樣也可以抓得到背後的 HTTP Request !讚啦!

而且連不同的品質的也可以在 Url 中指定,這對於之後要進行壓力測試特別有幫助

馬上重新跑一次 Web Test 發現, 2 分鐘的影片怎麼在 20 秒內就整個跑完了?

喔!原來 Web Test 都沒有等個 2 秒再發下一次的要求

所以,在 Web Test 中要特別調整 「思考時間」,剛剛也有特別提到 Video 和 Audio 是分開的 Request

在設定考慮時間是一定要特別注意一下。

image

重新再跑一次 Test ,的確時間看起來正常很多。

為了驗證「自動化測試」是不是真的都依 2 秒 向 Server 要求服務

馬上再開啟 IIS Log 進行查證,剛剛的測試動作

Good!果然很準時每 2 秒就有一次的記錄!

 

這些都驗證過後就可以安心地執行壓力測試了

clip_image001
可以看到多人同時連線 Server 也可以很穩定地提供服務,提供的數量增加了 CPU 還減少

剩下的就是要規劃那些情節來模擬以便進行壓力測試