天天看點

如何提高網站性能

性能提高的技巧

1.避免不必要的執行操作

   page_load 和 ispostback

void page_load(object sender, eventargs e) {

         // ...set up a connection and command here...

         if (!page.ispostback) {

             string query = "select * from authors where firstname like '%justin%'";

             mycommand.fill(ds, "authors");

             mydatagrid.databind();

         }

     }

     void button_click(object sender, eventargs e) {

         string query = "select * from authors where firstname like '%brad%'";

         mycommand.fill(ds, "authors");

         mydatagrid.databind();

關閉不必要的session狀态

<%@ page enablesessionstate="false" %>

注意使用server control

不必要時可以不使用server control

不必要時可以關閉viewstate

<asp:datagrid enableviewstate="false“ runat="server"/> 

<%@ page enableviewstate="false" %>

不要用exception控制程式流程

try { 

result = 100 / num;

}

catch (exception e) { 

result = 0;

if (num != 0) 

else

   result = 0; 

禁用vb和jscript動态資料類型

<%@ page language="vb" strict="true" %>

使用存儲過程資料通路

隻讀資料通路不要使用dataset

使用sqldatareader代替dataset

sqldatareader是read-only, forward-only

關閉asp.net的debug模式

使用asp.net output cache緩沖資料

頁面緩沖

< % @ outputcache%>

duration

varybyparam

片斷緩沖

varybycontrol

資料緩沖

過期依賴條件

cache.insert("mydata", source, new cachedependency(server.mappath("authors.xml")));

cache.insert("mydata", source, null,

              datetime.now.addhours(1), timespan.zero);

cache.insert("mydata", source, null, datetime.maxvalue,

              timespan.fromminutes(20));

存儲過程,那就不用說了

***************************************

頁面最好靜态的

全局緩存要做好  

别太多的包含檔案

能用js實作的效果都用js實作

能在用戶端實作的就用

分頁使用好的存儲過程,其他的也盡量使用存儲過程

少用些耗費資源的控件,減少回發

記得銷毀資料庫連接配接

不要把所有内容都放在大表格中 而是盡量以橫向分段,一段為一個表格

能用html的就不要用aspx了

能用javascript就不要用cs了

datagrid能不用就不用

session、viewstate、server control能不用就關

存儲過程、緩存會用就用,不會就學

隻讀資料使用datareader,很多的資料庫操作使用存儲過程,

使用<% @outputcache duration=60 varybyparam="*"%>進行緩存

關閉debug模式

正确使用索引

if (!page.ispostback)進行綁定不需要回傳的代碼

圖檔不要太精确

首頁資料查詢比較多但更新不常用的可以使用aspx動态生成html頁面

控件不需要經常程式設計的 比如輸入控件等都使用html控件

開通鏡像服務

大型門戶網站asp.net實作的注意事項:

1. 不要用伺服器端控件

2. 全面禁用asp.net的一些頁面級新特性

3. web.config裡的debug要為false,并且dll檔案編譯是要生成為release版本的

4. 盡量不要用dataset。除非用到嵌套循環

5. 運作在win2003企業版上。

6. 用sqlclient或oracleclient通路資料庫

這些是asp.net開發大型網站必須要重視的幾點,其它一些就是靜态頁面啊和硬體上的一些問題,這些跟其它大型網站諸如此類

補充:

1、轉向用server.transfer,不用response.direct

2、ado對象在一次使用過程中不要重複打開建立,盡量使用一個connection、一個command、一個datareader,并且記得不再調用資料庫資料時馬上關閉、釋放ado對象

3、資料集采用要多少給多少,杜絕不分字段不分頁

繼續閱讀