博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WCF 中 TCP 与 HTTP 性能简单比较
阅读量:6837 次
发布时间:2019-06-26

本文共 745 字,大约阅读时间需要 2 分钟。

在使用 WCF 时,为了更好地进行调试,我都选择了 HTTP 协议进行数据传输。最近项目对性能要求比较高,所以就换成了使用 TCP 协议。并对二者的性能进行了一个简单的测试。以下是测试结果:

 

环境:

CPU: E5800 3.20GHz+3.19GHz
RAM: 7.97GB
64 bit OS, 64 bit processor

 

把服务端、客户端都部署在本机进行数据传输测试。分如下场景进行测试:

1. 1000次请求,每次请求传输 1 个对象,每个对象 80 个属性:
HTTP 平均耗时:6.2s左右。
TCP 平时耗时:3.9s左右。
结论:使用 TCP 连接,可以节省在建立连接时的性能消耗。对于进行大量连接时,相对 HTTP 有比较明显的性能提升。

2. 100次请求,每次请求传输 500 个对象,每个对象 80 个属性:

HTTP 平均耗时:19s左右。
TCP 平时耗时:18s左右。
结论:
当使用单个连接传输大数据量时,速度则主要取决于数据序列化及网络传输速度,由于 Http 也是基于 TCP 进行传输的,所以作用较小。

 

 

反思:

由于第一次使用了外网,会有防火墙等不确定因素,造成数据失真。第二次在本地时,由于进行了数据库访问,同样可能导致数据失真。所以以上结论基于全内存数据,本地环境进行数据传输测试。

之前由于需要也进行过各种性能测试。经常懒得进行最直接的测试,而是直接使用应用程序中的环境进行测试。由于许多不确定因素:服务器、网络、数据库等,造成了数据经常失真,又不得不排除各种原因,最后还是得使用最直接最纯净的方式来进行数据测试。得不偿失啊!

以后要做性能测试,就一定要严谨,要在测试前想好纯净的测试用例,编写正式、直接的测试代码,这样其实是最省时的方法。

转载地址:http://srmkl.baihongyu.com/

你可能感兴趣的文章
How HashMap works in Java
查看>>
洛谷P2057 善意的投票
查看>>
UVa11401 Triangle Counting
查看>>
MongoDB
查看>>
深入Android 【三】 —— 组件入门
查看>>
Matlab DIP(瓦)ch11表示与描述练习
查看>>
【Echo】实验 -- 实现 C/C++下TCP, 服务器/客户端 通讯
查看>>
16、SpringBoot-CRUD错误处理机制(3)
查看>>
7、NIO--字符集Charset
查看>>
2-JSF html标签
查看>>
队列queue 代码
查看>>
Python-mysql 权限 pymysql 注入共计
查看>>
HashSet、LinkedHashSet、TreeSet
查看>>
ios 远程推送
查看>>
halcon算子翻译——compose5
查看>>
安装office2010提示要安装MSXML6.10.1129.0解决方法
查看>>
作业6随笔
查看>>
Github提交本地代码
查看>>
python文件操作
查看>>
go 编译protobuf
查看>>