2009-02-26 28 views
2

浏览器可能比网络约束更接近CPU约束,对吧? 我们有一个非常沉重的Ajax应用程序,所以从浏览器的角度来看(不是服务器),也许最好不要使用压缩。从浏览器的性能角度来看,压缩http响应是否值得?

你认为如何?

+0

它可能与问题没有太大关系,但是由于您提到了“非常繁重的ajax应用程序”,请注意IE在JavaScript中表现不佳。在IE 7上加载StackOverflow.com的主页将我的浏览器挂起几秒钟。 – 2009-03-05 13:16:24

回答

5

它完全取决于浏览器和设备。在普通的笔记本电脑或台式机上,首页我希望网络成为限制因素。在一个连接良好的办公室,如果有任何真正的瓶颈,它可能是可能是

那么你已经有了上网本,有可能在3G,然后手机...

个人而言,我会去压缩 - 我认为它更可能会比一个瓶颈一场胜利。

1

那么,总的来说cpu周期相当便宜,相比网络速度。解压不会花费太多的CPU周期,除非你试图解压缩MB的数据。

但我想最终它取决于将要使用该网站的人。如果您确定它们的互联网连接速度非常快,那么也许您不必使用压缩。另一方面,你始终可以确定他们有相当不错的CPU。

2

我的客户往往是小办公室共享互联网连接和带宽是一个主要考虑因素。我们的应用程序提供了相当大的页面,所以压缩产生了巨大的差异。

取决于带宽,用户数量,页面大小。

压缩和解压缩相当优化,您可以控制压缩级别。

1

使用压缩的而不是的最常见原因是它放在服务器上的CPU负载(对于动态页面)。通常这是更大的担忧,所以我假设平均台式PC上的CPU负载可以忽略不计(除非你想使用bz2)。

0

如果压缩会给服务器带来沉重的负担和/或压缩比很差(例如20K页被压缩到19K),那么我会考虑将其关闭。除非您的用户与服务器之间的连接速度非常快,低延迟,否则浏览器几乎肯定会受到网络限制。

我也会考虑HTTP缓存技术 - 它们非常高效,AJAX更是如此。这可以节省服务器和客户端的带宽和CPU周期 - 无需重新请求,重新生成,重新传输,重新解析并重新保存您已拥有的内容。

0

与压缩相比,减压是一个非常快速的过程。即使是微弱的CPU(例如移动设备中的CPU)也可以在几乎没有时间的情况下有效地解压缩GZIP(ZIP,Deflate等)。压缩数据是一件非常困难的工作。通过使用压缩,您正在增加服务器负载...并且增加的水平并不总是可以忽略的。通常这是服务器端带宽使用率和CPU使用率之间的折衷。对于客户端来说,它通常不起什么重要作用,除非互联网访问非常缓慢(例如手机连接)。然而,只有text/html/css/js才能被有效压缩,你可以在网页上找到的大多数其他数据(比如像吨图像)根本无法压缩;所以如果我们正在谈论的网页有8 kb的网页数据,页面本身加载200多kb的图像数据,忘记压缩,它几乎不会给你购买任何东西。

0

浏览器下载的任何脚本或内容只需要解压就可以了,因为它已经以解压缩的形式存在(唯一的例外是,如果您对HTTP头做一些奇怪的事情,比如Cache - 控制:无商店)。

它的解压缩速度比它可以下载的速度快 - 瓶颈不太可能是解压缩。

即使是稍微老旧的计算机也可能会以每秒50 MB以上的速度对GZIP进行解压,这将需要网络速度至少为410Mbps(即410,000kbps)才能达到饱和。

我更关心像IE6(SP2以前版本)这样的有问题的浏览器,它要求压缩内容,但在某些情况下无法处理,比如压缩CSS。