下面测试时前面一次测试的补充,以前测试地址见下面博客。
http://blog.csdn.net/wzjin/article/details/46561471
采用smartsniff进行网络抓包,客户端和服务器端部署在内部网络的不同服务器上,jdk采用了jdk7。传输的字段都是一样的,拷贝了一个比较长的字符串。
TCP 调用100000次耗时: 56028 毫秒。50492个包,数据大小31,012,042字节,总大小33,031,781字节,数据速率539.4kb/秒
TCP 调用100000次耗时: 58455 毫秒。54702个包,数据大小33,054,892字节,总大小35,243,031字节,数据速率551.2kb/秒
socketgzip包的,代码附在后面。
TCP启用双工和压缩方式传输,发送和接收是一套的,他们耗时是需要合并起来算。
TCP 发送调用100000次耗时: 347 毫秒。422个包,数据大小204,602 字节,总大小221,532 字节,数据速率94.2 KB/秒
TCP 接收调用100000次耗时: 2100 毫秒。252个包,数据大小190,380 字节,总大小200,510 字节,数据速率476.7 KB/秒
demo包的
ICE 调用100000次耗时: 65945 毫秒。59533个包,数据大小37,450,532字节,总大小39,831,906字节,数据速率553.4kb/秒
ICE 调用100000次耗时: 66572 毫秒。59957个包,数据大小37,081,340字节,总大小39,479,674字节,数据速率542.9kb/秒
shareiceserver包的
ICE 调用100000次耗时: 63871 毫秒。47599个包,数据大小30,144,721字节,总大小32,048,735字节,数据速率459.5kb/秒
ICE 调用100000次耗时: 65792 毫秒。58960个包,数据大小36,939,761字节,总大小39,298,215字节,数据速率556.3kb/秒
本地调用100000次耗时: 5 毫秒。
本地调用100000次耗时: 5 毫秒。
通过上面测试来看,ice的性能很优越, 和直接tcp/ip方式差距不大,时间方面差10%左右,包大小也是差距10%左右。
当然了,socket方式如果启动压缩流,实现双工,效果更好。
项目下载位置:http://download.csdn.net/detail/wzjin/8906553