WCF性能测试——WCF Latency Test Harness

      在CodePlex有个很不错的关于WCF的性能测试,WCF Latency Test Harness, 针对不同的请求区域(直接访问、同一应用程序域、同一程序、同一主机(跨进程)、不同主机),不同的binding(netNamedPipe,netTcp,netMsmq,basicHttp,wsHttp,Remoting) ,不同的序列化方式,不同的请求数据量、不同请求方式的测试,测试的内容可以通过配置文件设置。

      测试的指标是latency,在MSDN有关于吞吐量(throughput)的测试:A Performance Comparison of Windows Communication Foundation (WCF) with Existing Distributed Communication Technologies。   

     同一应用程序域,请求实例为单例模式,双向传输,默认的序列化方式(DataContractSerializer),使用nullTransport(自定义方式)、命名管道、NetTcpBinding、BasicHttpBinding:

     image 

     同一应用程序域,请求实例为单例模式,单向传输,默认的序列化方式(DataContractSerializer),使用nullTransport(自定义方式)、命名管道、NetTcpBinding、BasicHttpBinding:

    image

       同一应用程序域,请求实例为单例模式,单向传输,序列化方式为NetDataContractSerializer,使用nullTransport(自定义方式)、命名管道、NetTcpBinding、BasicHttpBinding:

    image

     同一应用程序域,请求实例为单例模式,单向传输,序列化方式为PreserveObjectReferencesDataContractSerializer,使用nullTransport(自定义方式)、命名管道、NetTcpBinding、BasicHttpBinding:

    image

      同一应用程序域,请求实例为单例模式,单向传输,序列化方式为XmlSerializer,使用nullTransport(自定义方式)、命名管道、NetTcpBinding、BasicHttpBinding:

   image

   BasicHttpBinding和WSHttpBinding的性能相当;在大数据量的情况下,nullTransport,netNamedPipe和netMsmq的性能相当。

   不同传输方式和编码方式:

   image

   image

    netTcpBinding的CPU的使用情况:

   image

    basicHttpBinding的CPU使用情况:

   image

 

   详细内容请看:WCF Latency Test Harness and WCF Performance

posted @ 2010-08-24 23:19  Asharp  阅读(4928)  评论(0编辑  收藏  举报