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方式,盡可能解決服務器對並發請求的處理能力,對客戶端的業務請求做:異步請求和異步響應。