天天看點

利用壓縮傳輸與緩存提高網站速度

上篇說到是利用伺服器的記憶體IO來提升響應速度,就不得不說網絡在響應速度另一個重要因素---網絡傳輸的速度。這個決定因子的改變比伺服器的硬體更要糜費。君不見那3大壟斷組織近期提了網價降了網速。。。扯遠了。。說技術。。。

一、在有限帶寬視窗裡提高傳輸的内容才是重點

利用tk-filters壓縮.js、.css、.jsp 大小,去掉格式、空格等等。隻需要耗費一點伺服器的CPU。

1、下載下傳tk-filters,把tk-filters.properties放到classes,把tk-filters.jar放到Lib裡。

2、修改項目的WEB.xml檔案把需要壓縮的格式加上:

<filter>
     <filter-name>GZIPFilter</filter-name>
     <filter-class>com.tacitknowledge.filters.gzipfilter.GZIPFilter</filter-class>
   </filter>
   <!-- GZIPFilter 設定自己想要壓縮的檔案類型-->  
   <filter-mapping>
     <filter-name>GZIPFilter</filter-name>
     <url-pattern>*.js</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>GZIPFilter</filter-name>
     <url-pattern>*.css</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>GZIPFilter</filter-name>
     <url-pattern>*.jsp</url-pattern>
   </filter-mapping>
      

從Firebug上看到檔案比之前小了25%左右。

利用壓縮傳輸與緩存提高網站速度

二、緩存網站的框圖也是重點

自從動态網站出現,各種圖檔與樣式就構成網站的框框,而我們平常看到是隻是實時更新資料,每天的資料是沒有多大的,如果網站不改版它的架構就是不變的。我們緩存了架構就是提高了網站的響應速度。

1、修改項目的WEB.xml檔案把需要緩存的格式加上:

<!-- CacheFilter緩存定義 設定此項時tk-filters.properties的CacheFilter.Enabled=true才可用 -->
   <filter>
     <filter-name>CacheFilter</filter-name>
     <filter-class>com.tacitknowledge.filters.cache.CacheHeaderFilter</filter-class>
   </filter>
   <!-- CacheFilter 設定自己想要緩存的檔案類型-->
   <filter-mapping>
     <filter-name>CacheFilter</filter-name>
     <url-pattern>*.gif</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>CacheFilter</filter-name>
     <url-pattern>*.jpg</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>CacheFilter</filter-name>
     <url-pattern>*.png</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>CacheFilter</filter-name>
     <url-pattern>*.js</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>CacheFilter</filter-name>
     <url-pattern>*.css</url-pattern>
   </filter-mapping>
      

從Friebug上可以看到有一些檔案是從緩存中讀取的:

利用壓縮傳輸與緩存提高網站速度

預設是15分鐘緩存一次,在tk-filters.properties中要打開這兩個功能才能使用。

下面是LoadRunner測試對比的結果:

優化前:

利用壓縮傳輸與緩存提高網站速度

繼續閱讀