ASP.NET MVC 提高運行速度的幾種效能最佳化方法

來源:互聯網
上載者:User

標籤:協助   target   部署   網頁渲染   實現圖   bsp   技巧   repo   epo   

主要介紹ASP.NETMVC 應用提速的六種方法,因為沒有人喜歡等待,所以介紹幾種常用的最佳化方法。大家可能會遇到排隊等待,遇到紅燈要等待,開個網頁要等待,等等等。理所當然,沒有人喜歡等待網頁慢吞吞地載入,尤其是在移動端訪問網站時。其實,Web 開發人員敏感的神經決定了我們等待與否。現在,快速響應不僅是來自使用者的要求,還是決定搜尋引擎的速度。考慮到大多數網站都存在速度方面的問題,在本文中將介紹六種為 ASP.NET MVC 應用提速的方法。希望可以協助到大家!!!


1. 應用程式緩衝

  • 緩衝一直都是最佳化應用時屢試不爽的最後絕招。只要使用得當,緩衝絕對可以有效加速應用。
  • 在進行資料庫調用以檢索記錄時,正是實現應用程式緩衝的最佳時機。
  • 譬如說,你搭建了一個部落格。當訪客請求某一篇博文時,你將其從資料庫中檢索出來,儲存在緩衝中。當下一個訪客通過 ID 請求同一篇博文時,應用程式會首先根據 ID 在緩衝中尋找博文,如果找到,就將之返回給訪客,而無需訪問資料庫。
  • 這節省了資料庫調用的高昂開支。
延伸閱讀:通過添加簡單的緩衝層以實現高效快速的網站


2. 最佳化圖片

  • 有時候,取決於文章內容的不同,圖片可能會是一篇博文中最大的資源。
  • 你應該壓縮這些龐大的資源。圖片越小,網頁渲染的速度越快。
  • Image Optimizer(圖片最佳化)外掛程式是很有用的 Visual Studio外掛程式。選定你的所有映像,再選擇無損(Lossless)或者有損(Lossy)圖片最佳化模式,每張圖片都會根據一定的比率壓縮大小。
  • 此外,如果你掌握了 Grunt 或 Gulp 之類的前端用戶端工具,就可以在建立應用或者部署應用時自動實現圖片最佳化。
延伸閱讀:Visual Studio 2015 圖片最佳化外掛程式


3. 使用 Sprites

  • 每個網站都有圖片。圖片幾乎是必不可少的網站元素。
  • 但是,如果你有很多小圖片,該如何處理呢?假設有20張小圖片,那就是20次圖片檢索請求,每張圖片一次。
  • 這時候,Sprites 就能派上用場啦。
  • Sprites 是由眾多小圖片集合而成的一張大圖。瀏覽器可以直接請求這張大圖,你再通過 CSS 技術抓取其中的小圖片,並將其展示在網頁的不同位置上。
  • 我知道,很多開發人員並不熟悉 CSS。因此,建議大家找點資料好好學習一下。CSS 真的非常有用。
  • 此外,還有許多線上 sprite 產生器,可以協助這一過程。(Piskel, Sprite Cow, 或者Google搜尋:“線上 Sprite 產生器”)
延伸閱讀:ASP.NET MVC:資料驅動 CSS Sprites


4. ETags

  • 有些讀者可能不知道 ETags 為何物。其實,ETags 是用於 Web 緩衝驗證的工具,允許有條件的用戶端請求。
  • 通過 ETags,瀏覽器可以判斷某項資源是否被需要。如果不需要,瀏覽器就不會向 Web 服務器發送請求,從而最小化請求數量。
  • 筆者甚至將 ETag ActionFilter 類列為最喜歡的 ActionFilter 類,因為 ETags 的確能最小化網站向 Web 服務器發送的請求數量。
延伸閱讀:我最喜歡的五個 ASP.NET MVC ActionFilters


5. 捆綁或最小化 JavaScript/CSS 代碼

  • 捆綁與最小化早已不是什麼新鮮的概念了。
  • 捆綁是指將所有 JavaScript 與 CSS 代碼打包為一個 JavaScript 或 CSS 檔案的過程。這與 Sprite 技術相似,不過處理的是 JavaScript 與 CSS 檔案。捆綁可以減少針對單獨 JavaScript 與 CSS 檔案的請求,從而減少成本。
  • JavaScript 與 CSS 檔案充滿了空格,這些空格佔用了不少的空間。最小化就是移除 JavaScript 或 CSS 檔案裡的大量空格的過程。
  • 在 ASP.NET MVC 項目中, App_Start 檔案夾下有一個 BundleConfig.cs 檔案。你可以在該檔案中定義 JavaScript 與 CSS 檔案的捆綁或最小化設定。
延伸閱讀:捆綁與最小化


6. 壓縮

  • 你發覺我們的套路了嗎?
  • 實現壓縮的方式有兩種:一是通過IIS啟用壓縮,二是通過 ActionFilter 類。
  • 壓縮啟用後,Web 服務器會將資源壓縮成包,再傳給用戶端。後者會先解壓縮,然後再展示內容。
  • 這能有效提高資源傳送的速度。
  • 還為此寫了一個 CompressFilter 類。通過 Action 方法調用該類,就能實現對網頁的壓縮。


結論

本文介紹的絕大部分速度提升方法都需要特定的編程技巧。一旦掌握了這些技巧,你就能輕易實現高效快速的網站。多積累,多實踐才能做更好

ASP.NET MVC 提高運行速度的幾種效能最佳化方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.