asp.net 程式最佳化精選第1/2頁

來源:互聯網
上載者:User

1、資料庫訪問效能最佳化 
資料庫的串連和關閉
訪問資料庫資源需要建立串連、開啟串連和關閉串連幾個操作。這些過程需要多次與資料庫交換資訊以通過身分識別驗證,比較耗費伺服器資源。ASP.NET中提供了串連池(Connection Pool)改善開啟和關閉資料庫對效能的影響。系統將使用者的資料庫連接放在串連池中,需要時取出,關閉時收回串連,等待下一次的串連請求。串連池的大小是有限的,如果在串連池達到最大限度後仍要求建立串連,必然大大影響效能。因此,在建立資料庫連接後只有在真正需要操作時才開啟串連,使用完畢後馬上關閉,從而盡量減少資料庫連接開啟的時間,避免出現超出串連限制的情況。   

使用預存程序  
預存程序是儲存在伺服器上的一組先行編譯的SQL語句,類似於DOS系統中的批次檔。預存程序具有對資料庫立即訪問的功能,資訊處理極為迅速。使用預存程序可以避免對命令的多次編譯,在執行一次後其執行規劃就駐留在快取中,以後需要時只需直接調用緩衝中的二進位代碼即可。另外,預存程序在伺服器端運行,獨立於ASP.NET程式,便於修改,最重要的是它可以減少資料庫動作陳述式在網路中的傳輸。

最佳化查詢語句
   ASP.NET中ADO串連消耗的資源相當大,SQL語句啟動並執行時間越長,佔用系統資源的時間也越長。因此,盡量使用最佳化過的SQL語句以減少執行時間。比如,不在查詢語句中包含子查詢語句,充分利用索引等。   

2、一定要禁用偵錯模式  
在部署生產應用程式或進行任何效能測量之前,始終記住禁用偵錯模式。如果啟用了偵錯模式,應用程式的效能可能受到非常大的影響。   

3、只要可能,就快取資料和頁輸出  
ASP.NET 提供了一些簡單的機制,它們會在不需要為每個頁請求動態計算頁輸出或資料時緩衝這些頁輸出或資料。另外,通過設計要進行緩衝的頁和資料請求(特別是在網站中預期將有較大通訊量的地區),可以最佳化這些頁的效能。與 .NET Framework 的任何 Web Form功能相比,適當地使用緩衝可以更好的提高網站的效能,有時這種提高是超數量級的。使用 ASP.NET 緩衝機制有兩點需要注意。首先,不要緩衝太多項。緩衝每個項均有開銷,特別是在記憶體使用量方面。不要緩衝容易重新計算和很少使用的項。其次,給緩衝的項分配的有效期間不要太短。很快到期的項會導致緩衝中不必要的周轉,並且經常導致更多的代碼清除和記憶體回收工作。若關心此問題,請監視與 ASP.NET Applications 效能物件關聯的 Cache Total Turnover Rate 效能計數器。高周轉率可能說明存在問題,特別是當項在到期前被移除時。這也稱作記憶體壓力。

4、選擇適合頁面或應用程式的資料查看機制  
根據您選擇在 Web Form頁顯示資料的方式,在便利和效能之間常常存在著重要的權衡。例如,DataGrid Web 伺服器控制項可能是一種顯示資料的方便快捷的方法,但就效能而言它的開銷常常是最大的。在某些簡單的情況下,您通過產生適當的 HTML 自己呈現資料可能很有效,但是自訂和瀏覽器定向會很快抵銷所獲得的額外功效。Repeater Web 伺服器控制項是便利和效能的折衷。它高效、可自訂且可程式化。
5、將 SqlDataReader 類用於快速只進資料遊標  
SqlDataReader 類提供了一種讀取從 SQL Server 資料庫檢索的只進資料流的方法。如果當建立 ASP.NET 應用程式時出現允許您使用它的情況,則 SqlDataReader 類提供比 DataSet 類更高的效能。情況之所以這樣,是因為 SqlDataReader 使用 SQL Server 的本機網路資料轉送格式從資料庫連接直接讀取資料。另外,SqlDataReader 類實現 IEnumerable 介面,該介面也允許您將資料繫結到伺服器控制項。

6、使用 HttpServerUtility.Transfer 方法在同一應用程式的頁面間重新導向  
採用 Server.Transfer 文法,在頁面中使用該方法可避免不必要的用戶端重新導向。

相關文章

聯繫我們

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