php開源系統-使用Minify來最佳化網站效能

來源:互聯網
上載者:User

1 對php網站進行了搭建,並完成一些對圖片上傳的準系統,伺服器資料庫的操作等等
2 完成 首個jquery 架構中靜態模板中加入 實際的函數範例;
並瞭解和掌握了 sizzle.js 架構的使用流程和機制;並成功的在本地apache伺服器網站上進行引用實驗,實現自我構建
sizzle.js 應用的一兩個範例。對sizzle.js加深了理解。
明天計劃對sizzle.js 進行應用熟練,並掌握複雜的功能;

 

學會用chrome 分析效能,amd模式。

 

http://www.cnblogs.com/huangxincheng/archive/2011/12/04/2275988.html

http://www.dojocn.org/home.php?mod=space&uid=3&do=blog&id=11

 

Minify 是用PHP5開發的應用,通過遵循一些Yahoo的最佳化規則來提高網站的效能。它會合并多個CSS或者JavaScript檔案,移除一些不必要的空格和注釋,進行gzip壓縮,並且會設定瀏覽器的緩衝頭。本文本文主要介紹Minify來最佳化網站效能。


  Minify 是用PHP5開發的應用,通過遵循一些Yahoo的最佳化規則來提高網站的效能。它會合并多個CSS或者JavaScript檔案,移除一些不必要的空格和注釋,進行gzip壓縮,並且會設定瀏覽器的緩衝頭。Minify
在設計上和Yahoo的 Combo Handler Service非常像,不過Minify可以合并任何你想要合并的JavaScript和CSS檔案。

  一般情況下,網站速度的瓶頸都在前端,而最關鍵的就是資源的載入速度,但是大多數瀏覽器都有單個網域名稱並發請求數限制,所以如果一個頁面中存在很多的資源,比如CSS和JavaScript檔案,那麼明顯會降低網站的載入速度,比較好處理方式就是把多個檔案通過一個請求來訪問,這樣既不會影響之前的檔案維護,又會減少資源的清楚數量,Minify就是為之而生。

  下面兩幅圖分別是啟用Minify之前和啟用Minify之後網站請求時間的一個對比,可以看出啟用Minify之後,資源的載入時間從250ms減少到了125ms,總共節省了50%的時間。

   

    

  特性:

  合并多個CSS或JavaScript檔案為一個檔案,減少請求數量,並且進行minify處理

  使用了多個開源的庫,包括 JSMin.php ,Minify CSS,Minify HTML

  服務端緩衝(fils/APC/Memcache),可以避免不必要的重複處理

  當瀏覽器存在資源的緩衝,返回HTTP 304 Not Modified

  多個檔案合并時,自動產生URI

  當開啟服務端緩衝的時候,在一般的伺服器上Minify每秒可以處理幾百個並發請求

  根據要求標頭,開啟Content-Encoding: gzip。在服務端緩衝開啟的情況下,Minify提供gzipped 檔案速度比Apache’s mod_deflate模組要快

  安裝

  下載最新的Minify(http://code.google.com/p/minify/downloads/list),然後解壓檔案到”min” 檔案夾

  Copy “min” 檔案夾到自己網站的DOCUMENT_ROOT下,如果想要Minify在子目錄下工作,看這裡

  使用

  假設網站網域名稱是http://example.com,Minify安裝在了虛擬機器主機的根目錄下,那麼訪問http://example.com/min/,我們會看到一個“Minify URI Builder”,我們可以輸入需要進行合并的檔案URI,如下

  

  點擊Update之後,系統會自動產生一個合并後的URI:/min/?b=js&f=jquery-a.js,jquery-b.js,jquery-c.js。如果覺得URI太長,可以通過設定檔來指定group,編輯min目錄下的groupsConfig.php檔案,加入以下內容:

  return array( 'js' => array('//js/jquery-a.js', '//js/jquery-b.js', '//js/jquery-c.js'),//相對於DOCUMENT_ROOT );

  之後就可以通過/min/?g=js來訪問了 

  

  Minify在資源首次被請求的時候,會對多個檔案進行合并,gzip,去除空格,注釋等處理,然後會把處理的結果進行緩衝,預設情況下是進行檔案快取,緩衝的key以minify_開頭,修改min/config.php檔案,配置快取檔案存放的位置:

  $min_cachePath = '/tmp';

   

  

  除了通過檔案進行緩衝之外,Minify還支援Memcache緩衝,修改min/index.php檔案,加入以下代碼:

  

  Minify支援兩種debug方式,一種是通過firephp調試PHP錯誤,修改min/config.php檔案,加入以下代碼:

  

  另一種是通過在URL中加入flag進行錯誤調試,在min/config.php中加入

   

  之後就能以http://example.com/min/f=jquery-a.js,jquery-b.js,jquery-c.js&debug=1方式進行調試了
文章來源:http://developer.51cto.com/art/201105/261146.htm

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.