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

  • 相关阅读:
    Eclipse Java EE IDE for Web Developers集成的Maven 3 指向自己安装的 Maven
    Maven下载、安装和配置(二)
    shell脚本 如何调用Mysql的存储过程 解决方案
    Crontab的格式
    PHP 垃圾回收机制
    ChromePHP
    PHP 优化详解
    PHP 获取网页301|302真实地址
    PHP 常用函数回顾
    PHP基础 CGI,FastCGI,PHP-CGI与PHP-FPM
  • 原文地址:https://www.cnblogs.com/itshare/p/5516472.html
Copyright © 2011-2022 走看看