HI END


一种永不妥协,追求极致与完美的精神与态度。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

针对 WCF 数据压缩开发包压缩效率的测试比较(转)

Posted on 2013-03-13 11:28  HI END  阅读(184)  评论(0编辑  收藏  举报
关于 WCF 中数据压缩的几篇文章中大概介绍了针对WCF的压缩,下面对里面提到的两个开发包进行测试。

目前能找针对WCF的压缩扩展主要有两个,一个是MS在TechnologySamples提供的,另外一个是WS-Compression for WCF(   http://weblogs.asp.net/cibrax/archive/2006/03/29/441398.aspx)

测试办法:能力有限,没有办法测试内存对象的大小,采用折衷的办法:通过比较压缩前数据、压缩后数据分别从服务器端传送到客户端的时间来确定大概压缩率。

测试数据情况:单表,20个字段,字段内容大概300个字符,

网络情况:为了测试压缩率所以客户端和服务器在同一台机器上。

机器配置:酷睿双核1.83,2G内存

1万行数据测试情况:
未压缩:                    平均11m
WS-Compression(Maximum)     平均8M
WS-Compression(Normal)     平均7M
WS-Compression(Fast)     平均7M
GZipEncoder压缩:           平均4M

另外在WS-Compression开发包占用内存比较大,1万条数据大概350000K,而 GZipEncoder只有130000K。

这两个开发包都是采用了GZip算法,但是两者的压缩效率相差不少。WS-Compression提供了Maximum、Normal、Fast还有NoCompression四种压缩级别,但是从测试来看,前三种差别不大,总体压缩率在64%的样子;而GZipEncoder压缩率在36%的样子。同样采用GZip算法,不知道为何两者差别这么大,详细代码没有看,原因不清楚。惭馈,俺是比较标准的拿来主义

最后对MS赞一个