[網站效能] 自己寫的Microsoft Ajax Minifier圖形化懶人工具WinForm

[網站效能] 自己寫的Microsoft Ajax Minifier圖形化懶人工具WinForm

Microsoft Ajax Minifier 是用來減少.js、.css檔案的容量

可以在網站部署前先把檔案壓一壓後,再丟到正式機加速網站效能

但似乎沒有圖形化介面?因為我很懶,乾脆自己寫一個圖形介面工具

最好靜態檔案從此在ART人員那邊壓完再丟給工程師,省下部署網站時期另一道手續w

 

以下介紹本工具使用方法

Step 1.

Microsoft Ajax Minifier 4.x 需要先裝.net framework 3.5

※Windows Server 2008 R2的話,就直接從控制台>開啟或關閉windows功能

安裝完.net framework 3.5後再安裝Microsoft Ajax Minifier,都是直接用預設設定下一步>下一步…

接下來準備好要壓縮的靜態檔案.css和 .js

image

再執行本人開發的圖形工具(免安裝,經測試可支援64位元電腦)

image

再來按「執行壓縮」按鈕,就會把來源資料夾裡的檔案Copy到輸出資料夾,並把輸出資料夾裡的.css、.js檔進行壓縮

※此程式對於.css和.js都是使用Level 2的壓縮

壓縮中畫面

image

執行結果:

image

接著到輸出資料夾,把已壓縮的檔案丟到網站

image

(丟回網站)

image

再來修改程式碼.css的href和.js的src

※個人習慣.css和.js的引用都放在MasterPage,所以到MasterPage的設計畫面按Ctrl+H

image

把.js和.css副檔名全部取代成_min_AjaxMinifier.js和_min_AjaxMinifier.css

因為想到自己有可能打錯字,所以也可以這樣

反白複製程式碼

image

貼到懶人工具

※注意字元限制長度為32767個字元,如果發現有截斷現象,就得回到剛剛使用Ctrl+H全部取代的方式處理程式碼

image

按下產生「懶人Code」後

image

剪下程式碼取代MasterPage剛剛的地方便完成

 

 

接著執行網站,如果出現javascript錯誤的話

image

進到程式碼中把那幾個.js的引用改回原本的.js檔名

會發生這樣錯誤是因為壓出來的檔案字串被截掉,自己試過進Command Line手動壓看看也是相同結果

似乎Microsoft Ajax Minifier對某些寫法就是會截掉字串的樣子

懶人圖形工具完整專案包+執行檔.exe (.net framework3.5開發)

相關文章:

Ajax Minifier : 自動壓縮目錄下所有 js、css 語法分享 (用法介紹)

Microsoft Ajax Minifier 將 js 和 css 檔案最小化  by demo小鋪 (用法介紹)

Javascript(js)和Css压缩工具使用介绍-Microsoft-Ajax-Minifier (Ajax Minifier的壓縮率還算不錯)

上線前用 JSMin 壓縮你的 JavaScript 檔案 by 保哥

 

 

另外,要增進網頁載入效能的話,只做.js、.css檔的壓縮,效果不明顯

最好再搭配

ASP.NET 2.0 压缩ViewState最佳方法,支持UpdatePanel  、[ASP.NET]使用IIS的網頁壓縮

[SQL Server]善用Database Engine Tuning Advisor改善SQL效率 by gipi

除此之外,也可以查看SQL Server 2008的報表,效能調校排名前幾名的SQL語句

針對首頁同時間多人存取可以把動態網頁)轉成靜態網頁 by Shadow

 

有使用ASP.net Ajax的話,務必Web.config裡

把compilation的debug設為false

<compilation debug="false" targetFramework="4.0">

這樣可以移除ScriptResource.axd裡的註解、斷行和空白

下圖是設定true

image

在設定false之後

image

Web.config也再追加

<system.web.extensions>
  <scripting>
    <scriptResourceHandler enableCompression="true" enableCaching="true"/>
  </scripting>
</system.web.extensions>

ScriptManager控制項也必追加兩個屬性

<asp:ScriptManager runat="server" ScriptMode="Release" LoadScriptsBeforeUI="false" />

參考:How to Reduce ScriptResource(...).axd Files

ASP.net AJAX 效能詳細設定和改善說明:ASP.NET AJAX Performance Improvement

上線時期除了上述方法需注意外,還有↓

Web.config裡,把Tracing關閉

<trace enabled="false"  requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />

 

 

以下是網站效能檢測好幫手

[Tool]檢查你的網站的壓縮狀況 by gipi 、[Tools]Google的Page Speed by gipi

GTmetrix 線上免費分析網站效能缺陷,根治拖慢網頁速度元兇  by 電腦玩物

↓調校網站的評估項目

加速前端網頁效能的14條規則 by 保哥

Best Practices for Speeding Up Your Web Site、(同左)Web Performance Best Practices and Rules

↓開發時期的實作

[Other]用Table排版的問題 by gipi

[Javascript]如何優化javascript的效能 by gipi

延遲廣告載入,避免廣告拖慢你網站的速度 by Demo小舖

ASP.NET 效能概觀

ASP.NET中常用的26個優化性能方法-.Net編程教程

asp.net 10 Tips for Writing High-Performance Web Applications

20 Tips to Improve ASP.net Application Performance  Software Development in the Real World

web.net How to Improve ASP.NET UpdatePanel Performance (ASP.net Ajax UpdatePanel相關)

其他:

[ASP.NET]非程式面的效能問題(1)-頻寬[ASP.NET]DOLOTO: Code Splitting for Network-Bound Web 2.0 Applications by gipi

有關Web效能的討論:

VS有辦法獲得效能測試數據嗎?

WebForm反應突然變慢

請問要如何增進效能

請問各位先進效能的問題

 

 

 

 

以個人的經驗通常上線的網站忽然變慢,大致把資料表的Index建一建就差不多了

剩下的幾乎都是網站的資源大小

所以處理優先序

SQL語句效能調校>首頁轉靜態網頁>圖檔大小請ART人員縮小>看還有哪些沒調的儘量調

通常在第三步驟網站速度就有明顯的改善,如果仍舊還是慢的話

就會重覆 資料庫存取改善、靜態檔案縮小、網頁輸出縮小這幾個步驟

會更動到程式碼的也就幾個特別慢的網頁才會改寫Code

如此反覆調整,網站效能最後也就調出來了

 

2012.3.16 追記參考文章:

2011第四屆iT邦幫忙鐵人賽(DB查詢效能介紹)

2012.11.13追記:針對會同時多人上線的系統,記得把ASP.net到資料庫的Connection Pool調大

Web.config檔裡的連線字串,追加Max Pool Size,預設100,可以設為10000~30000

以SQL Server 2008來說,預設可以同時3萬多人連線,所以Max Pool Size也不能設太

連接池數量[SQL] How to Set User Connections 如何設定SQL連線數 ?  

加速HTML5應用程式與網站的50個技巧