zoukankan      html  css  js  c++  java
  • 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方式,尽可能解决服务器对并发请求的处理能力,对客户端的业务请求做:异步请求和异步响应。 

  • 相关阅读:
    LeetCode Count of Range Sum
    LeetCode 158. Read N Characters Given Read4 II
    LeetCode 157. Read N Characters Given Read4
    LeetCode 317. Shortest Distance from All Buildings
    LeetCode Smallest Rectangle Enclosing Black Pixels
    LeetCode 315. Count of Smaller Numbers After Self
    LeetCode 332. Reconstruct Itinerary
    LeetCode 310. Minimum Height Trees
    LeetCode 163. Missing Ranges
    LeetCode Verify Preorder Serialization of a Binary Tree
  • 原文地址:https://www.cnblogs.com/itshare/p/5516472.html
Copyright © 2011-2022 走看看