WCF 中 TCP 与 HTTP 性能简单比较

简介:

在使用 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 进行传输的,所以作用较小。

 

 

反思:

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

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

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

目录
相关文章
|
6月前
|
缓存 网络协议 安全
计算机网络 TCP、RPC、GRPC、HTTP 对比
【1月更文挑战第1天】计算机网络 TCP、RPC、GRPC、HTTP 对比
|
5天前
|
网络协议 API 数据格式
HTTP 和 TCP 协议的主要区别
【10月更文挑战第25天】HTTP 和 TCP 在网络通信中扮演着不同的角色,各自具有独特的功能和特点,它们相互配合,共同为实现网络应用的各种需求提供了基础支持。
|
5天前
|
网络协议
http 与 tcp 的关系
【10月更文挑战第25天】总的来说,HTTP 和 TCP 是网络通信中不可或缺的两个协议,它们共同为网络应用提供了可靠的数据传输和交换服务。理解它们之间的关系对于开发和维护网络应用具有重要的意义。
|
5天前
|
网络协议 前端开发 API
HTTP 和 TCP 协议的应用场景有哪些不同
【10月更文挑战第25天】HTTP(超文本传输协议)和 TCP(传输控制协议)处于网络协议栈的不同层次,各自具有独特的功能和特点,因此它们的应用场景也存在明显的差异。
|
6月前
|
网络协议 安全 API
计算机网络 TCP、RPC、GRPC、HTTP 总结
【1月更文挑战第1天】计算机网络 TCP、RPC、GRPC、HTTP 总结
|
网络协议 安全 API
你知道 HTTP 是如何使用 TCP 连接的吗?今天我就来告诉你!(上)
之前我写了篇关于 HTTP 的文章,文章中讲述了 HTTP 的特点,HTTP 的报文,HTTP 的请求方式等知识,接下来,深入了,我们就关于 HTTP 引发的面试题来进行入手,一起来看一下吧!
你知道 HTTP 是如何使用 TCP 连接的吗?今天我就来告诉你!(上)
|
网络协议 网络性能优化
为什么HTTP协议要基于TCP协议?底层原理是什么?
为什么HTTP协议要基于TCP协议?底层原理是什么?
1336 0
|
网络协议 网络性能优化
TCP协议和HTTP协议的关系是什么?底层原理是什么?
TCP协议和HTTP协议的关系是什么?底层原理是什么?
1264 0
|
存储 Web App开发 缓存
网络协议之Tcp、Http全解
TCP头格式和三次握手、四次挥手,HTTP请求报文和响应报文结构。Session和Cookie详解。
333 0
网络协议之Tcp、Http全解
|
域名解析 网络协议 前端开发
[前端必知 ]HTTP or TCP/IP 基础
[前端必知 ]HTTP or TCP/IP 基础
122 0