一 服務器優化
l Windows系列
位Winr + HpyerV + 負載均衡 + IIS
位Win + 虛擬機 + 負載均衡 + IIS
禁止服務器訪問外網關掉不必要的端口
去掉每個磁盤的所有權限只保留administrators組和system完全控制權限
IIS標識使用ApplicationPoolIdentity給目錄權限用戶是IIS AppPool\站點名
IIS需要為每個站點建獨立的用戶為IIS用戶單獨設置權限
IIS禁止日志記錄
二 數據庫優化
l 位MSSQL
少用觸發器/游標/外鍵多用存貯過程和視圖適量使用索引查詢速度會提高很多每個表的索引盡量不要超過個
定時查看死鎖的進程和等待進程並清除還要及時修正死鎖的來源
復雜的統計報表需要用計劃去跑
查詢記錄數要使用count() 不要使用count(*)
select的時候表字段不要使用**查詢所有字段是很慢的
如果字段是索引列可使用UNION ALL 替代 OR走索引線路查詢
大記錄集要使用分頁查詢
盡量不要使用TEXT/NTEXT類型要使用VARCHAR(MAX)/NVARCHAR(MAX)
盡量不要使用臨時表要使用Table表類型或內嵌視圖
三 後端優化
l 多使用DbDataReader盡量不要使用DataTable/DataSet讀取數據
l for (int i = ; i < dtRowsCount; i++) 應該這麼寫
for (int i = len = dtRowsCount; i < len; i++)或
foreach (DataRow info in dtRows)推薦這種寫法
l 少用try catch用到try catch時要和 finally一起使用
l 多使用using如
using (DbDataReader dr = DataGetDbDataReader(strSql)) { while (drRead()) { }; }
l 大字符串操作請使用StringBuilder 少使用string字符串比較用Compare字符串相加用Concat大字符串相加用StringBuilder Append
l 變量要在先定義在使用不要在循環內定義變量如
錯誤的寫法是for (int i = ; i < ; i++) { string s = iToString(); }
正確寫法string s = stringEmpty; for (int i = ; i < ; i++) { s = iToString(); }
這裡還有一個地方要注意的在字符串相加的時候如果有int類型的要先轉成string類型在相加減少不必要的裝箱拆箱操作
l 如果你使用的是HTML控件需要禁用<%@ Page EnableViewState=false AutoEventWireup=false EnableSessionState=falsenfig <pages enableViewState=false enableSessionState=false />
l 使用foreach替代for
l 操作數據庫要使用存貯過程/視圖
l 多使用CACHE對數據緩存這才是最關鍵的NET提供HttpContextCurrentCache/HttpRuntimeCache共享緩存有velocity/ memcached
l 可使用<%@ OutputCache Duration= 緩存頁面可使用ResponseBufferOutput = true;/ <%@ Page Buffer=true 輸出緩沖
l 可將站點生成靜態面頁好處多多
l 可使用URL重寫成偽靜態提供rss/baidusitemap/googlesitemap服務有利於搜索引擎收錄
l Ajax調用頁面要使用ashx一般處理程序速度要比aspx文件要快Ajax請求要使用POST不要使用GET
l 發布站點時DLL要Release版本不要用Debug版本
l IIS需要使用集成模式不要使用經典模式
l nfig 加 <customErrors mode=On /> 關閉錯誤提示
l nfig 加 <compilation debug=false /> 關閉調試模式
l 使用ServerTransfer替換ResponseRedirect
l 多使用泛型集合操作少用ArrayList
四 前端優化
l 最好不使用NET控件用HTML控件頁面使用CSS+DIV布局
l 使用JSON + AJAX進行數據交互
l 要學會使用jQuery提高開發速度
l 盡量少用<img標記改用background樣式控制背景圖片這樣做的好處是方便擴展多皮膚
l 將CSS background背景圖片多張合並成一張圖片保證合並後的圖片大小不要超過K可將JS文件合並在一個JS文件中然後使用closure_packer_yui_compiler進行壓縮這樣做的好處是可減少客戶端連接數
l JS代碼段不要放在HTML頁面應該放在獨立的JS文件裡面好處是JS文件可以CDN/緩存
l 可將CSS文件放到<head></head>之間JS文件或代碼放到</body>之前讓頁面先顯示在執行JS
l 可將網站的圖片/CSS/JS/資料/資源放到獨立的站點做下CDN加速二級域名會有COOKIES最好使用一級域名
l A標記和IMG標記需要加上title/alt<head>標簽內需要加title/keywords/description/rss/sitemap優化有利於搜索引擎收錄
l 頁面可啟用gzip壓縮
l 安裝FF的插件YSlow/Page Speed
五 其它優化
From:http://tw.wingwit.com/Article/program/net/201311/12653.html