在關於 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...