.Net網站架構設計(八)測試


.Net網站架構時間(八)測試

一般而言,整體測試策略是:先針對部分系統進行性能及壓力測試,得到各部分的峰值處理性能;再模擬整體流程測試,此時倒不用按照峰值跑,重點測試整體業務流程及業務預期負荷。
在定義好各部分的測試策略后,具體的工具使用選擇倒不是主要問題。

1、不同省份、不同運營商CDN節點性能
此部分可以采用典型壓力測試的方案。

2、核心機房BGP網絡帶寬
此部分重點在於測試各運營商BGP網絡可靠性、實際速率等,一般采用smokeping、IxChariot等工具。

3、各類硬件設備性能

此部分一般采用專業的網絡設備測試工具。

4、各類服務器(Web服務器、應用服務器、緩存服務器等)並發性能、分布式處理能力
此部分可以采用壓力測試方案及工具。

6、業務系統性能
此部分可以采用業務系統壓力測試方案。

7、數據庫處理性能
大部分互聯網公司都對數據庫作了定制改造以滿足業務需要,此部分測試需要結合業務系統進行測試,以獲取核心業務場景下數據庫的TPS/QPS,尤其是測試定制改造的地方。

8、支付渠道接口及分流測試
此部分相對而言可能是最大的瓶頸所在,也是互聯網公司們無法完全掌控的地方,只能協調銀行總部改造支撐。

另外還涉及備份方案、容災方案、業務降級方案的測試。
這里指的業務降級方案,是基於“有損服務、柔性可用”的策略,為保證核心服務可用的前提下,對部分服務的質量降級處理。


作者:梁川
鏈接:http://www.zhihu.com/question/22216942/answer/78753248
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
‘在編寫一個網絡服務的時候都比較關心這個服務能達到多少並發連接,而在這連接的基礎上又能達到一個怎樣的交互能力.編寫服務已經是一件很花力氣的事情,而還要去編寫一個能夠體現結果的測試工具就更加消耗工作時間.下面介紹一個測試工具只需要簡單地設置一下就能對tcp/udp服務進行高並發和高吐吞的性能測試,並通過圖形化的方式反映測試結果.

        工具是采用用.NET編寫,所以需要.NET FRAMEWORK才能運行.雖然.net在這方面的給人的感覺性能不怎么出色,但這個工作出色性能足夠滿足大部分服務端的壓力測試.

工具主界面

​        

        工具非常簡單易用,只需要設置幾項內容就可以對於個服務端進行壓測.在這里比較注意的就是測試模式這里,工具主要提供兩種測試模式分別是

        應答模式:當連接接收服務端響應后馬上進行下一次請求消息發送

        間隔模式:連接根據設置的間隔時間來進行發送請求消息

消息編輯

        在發起測試之前還需要給工作添加測試消息,明確工具向服務器發送那些消息內容

        

        可以根據自己的需要編輯多發送的消息,每個連接都會輪遁把這些消息發送給服務端,消息的編碼也可以根據自己需要設置.工具提供4種分別是:ascii,utf8,hex和base64.

        當以上工作都准備好后就可以點擊測試按鈕進行測試,工具下方的幾個曲線走勢圖會反映測試過程數據收集的結果.通過這些結果你就能了解到服務端響應的情況和整體吞吐瀏覽走勢.

        工具到底具備怎樣的壓力效能呢,下面通過兩個測試用例反映工具具備的測試能力.

測試用例1

        構建一個簡單的TCP服務,然后在另一台機構建5000個連接的請求測試(測試電腦是一台筆記本),請求消息大小為1K;測試結果如下:

        

        從結果來看5000個連接請求測試結果反映出整體交互是每秒6W個發送和6W個接收,而產生帶寬上下行分別是60MB,那基本已經把測試環境1Gb的帶寬跑完了.從系統的資源管理器來看的確是這樣子.

測試用例2 

        這個測試主要把發送的消息設置成4K,由於網絡環境所以只能把測試工具和服務端放在同一台PC上.而測試的連接數降到的2000個

        

        測試結果反映socket的讀寫量分別是4W左右,而上下行的帶寬分別170MB左右,算起來大概帶寬達到3-4Gb之間.

HTTP測試

        組件也可以對HTTP進行測試,由於測試工具是基於長連接測試,所以請求描述必須用HTTP 1.1,並設置keep-alive;具體消息設置如下:

  

總結    

        從以上兩個測試用例的結果反映,工具具備着非常不錯的壓力測試效率.相信對於大部分TCP/UDP服務壓力測試工作都能勝任.由於工作采用的隨機端口分配,所以在創建連接的數量上會有一定的限制,后面會調整一下根據本機IP情況過行手動綁定,這樣相信可以滿足一些需大量連接服務測試.

http://blog.liuts.com/post/234/

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com