2009-02-26 74 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。

相關問題