WCF的Restful和TCP方式調用性能比較


1. 實驗背景
關於WCF提供分布式訪問服務,最常用的兩種方式Restful方式和Tcp方式,在本地測試了一把。
結果顯示,還是Rest方式,在壓力測試下,性能最佳。
而且處於跨平台的考慮,和自動化測試方便,更會采用Restful方式提供服務。

2. WCF服務功能描述:
該服務為所有客戶端(CS客戶端或B/S瀏覽器端),提供實時和統一的不重復的流水號

3. 測試結果
測試1: 基於Restful 方式提供服務,客戶端使用http路由請求方式訪問服務:
Rest服務地址: http://xxx.xxx.xxx.xxx:6211/ITSTemplate.Study.RestAPI/SeqService/
兩個Client,分別調用100000次,平均調用時間:0.59~0.61ms,性能是TCP方式的50倍(2.66/0.59)。

調用前,可以通過netstat -aon|findstr "6211", Restful還沒有客戶端調用實例。



調用中,可以通過netstat -aon|findstr "6211", Restful有2個客戶端調用實例。



調用完畢,最后一次調用完畢,大概1分鍾左右,WCF會自動釋放服務端建立的6211端口實例,可以看見每次平均調用的時間為: 0.59~0.61 毫秒



測試2: 基於TCP 方式提供服務,客戶端使用接口Libary引用類庫方式訪問服務:
TCP服務地址: net.tcp://xxx.xxx.xxx.xxx:6212/ITSTemplate.Study.RestAPI/SeqService/
兩個Client,分別調用100000次,平均調用時間: 2.66 s
 
調用前,可以通過netstat -aon|findstr "6212", TCP還沒有客戶端調用實例。 


 
調用中,可以通過netstat -aon|findstr "6212", TCPl有2個客戶端調用實例。



調用完畢,最后一次調用完畢,大概1分鍾左右,WCF會自動釋放服務端建立的6211端口實例,可以看見每次平均調用的時間為: 2.66 毫秒


 
總結:下一節,我將測試在遠程雲服務器,測試REST的並發性能; 設置REST的響應超時時間為1秒。
            並且通過MQ方式,盡可能解決服務器對並發請求的處理能力,對客戶端的業務請求做:異步請求和異步響應。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM