針對 WCF 資料壓縮開發包壓縮效率的測試比較

2021-04-19 02:09:30 字數 886 閱讀 8834

在關於 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贊乙個

ASIHTTPRequest 資料壓縮

從0.9版本開始,asihttprequest會提示伺服器它可以接收gzip壓縮過的資料。apache 2.x以上版本已經配備了mod deflate擴充套件,這使得apache可以透明地壓縮特定種類的資料。要開啟這個特性,你需要在apache的配置檔案中啟用mod deflate。並將mod de...

ASIHTTPRequest 資料壓縮

從0.9版本開始,asihttprequest會提示伺服器它可以接收gzip壓縮過的資料。apache 2.x以上版本已經配備了mod deflate擴充套件,這使得apache可以透明地壓縮特定種類的資料。要開啟這個特性,你需要在apache的配置檔案中啟用mod deflate。並將mod de...

ASIHTTPRequest 資料壓縮

從0.9版本開始,asihttprequest會提示伺服器它可以接收gzip壓縮過的資料。apache 2.x以上版本已經配備了mod deflate擴充套件,這使得apache可以透明地壓縮特定種類的資料。要開啟這個特性,你需要在apache的配置檔案中啟用mod deflate。並將mod de...