使用AMF进行​​GZip压缩是否值得

Fer*_*gal 5 java apache-flex gzip blazeds

我们使用BlazeDS获得了Flex/Java应用程序,我们正在研究减少在服务器和客户端之间传递的有效负载的大小.

由于AMF是一种二进制格式,并且应该相当紧凑,开启GZip压缩有什么好处吗?之前有没有其他人这样做过,你看到使用压缩有什么重大收获吗?

UPDATE

我只是进行了一个简单的测试,以确定如果我们启用gzipping,我们可能会期望什么样的压缩率.我刚刚在一些文件中捕获了AMF有效负载,并使用Linux命令行版本对它们进行了解压缩.我没有指定压缩级别,只是默认即'正常'.看起来平均有效载荷大小减少了9%,一些有效载荷增加了61%.任何人都可以看到这种方法的缺陷和HTTP gzipping可以使用什么级别的压缩?

Wou*_*rts 5

我们最近将一些客户端 - 服务器通信从SOAP切换到AMF,我们还比较了压缩的影响.我们专注于一个特定的服务,它返回一些重要的回应.这些是我们的结果,返回相同的数据(使用xfire + aegis为SOAP序列化,而BlazeDS为AMF序列化):

  • SOAP:未压缩:1000KB gzipped:100KB(减少90%)
  • AMF:未压缩:200KB gzipped:30KB(减少85%)

我们的结论是gzipping绝对值得.二进制AMF的压缩几乎与XML(SOAP)一样好.当然,您的里程可能会根据您返回的数据类型而有所不同.

  • @splash:我不认为这取决于尺寸.对于更大的请求,缺点(更多的CPU时间)和优势(更小的响应)一起扩展.它取决于您的服务器和客户端有多少CPU和带宽*备用*(因此它取决于您有多少可用,以及应用程序的CPU和带宽密集程度). (3认同)