溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

網站訪問速度可做哪些優(yōu)化

發(fā)布時間:2021-11-04 09:26:56 來源:億速云 閱讀:131 作者:柒染 欄目:建站服務器

這篇文章給大家介紹網站訪問速度可做哪些優(yōu)化,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、 服務器優(yōu)化

Windows系列:

64位Win2008r2 + Hpyer-V + 負載均衡 + IIS7.5
64位Win2003 + 虛擬機 + 負載均衡 + IIS6
禁止服務器訪問外網。關掉不必要的端口。
去掉每個磁盤的所有權限,只保留administrators組和system完全控制權限。
IIS7.5標識使用ApplicationPoolIdentity,給目錄權限用戶是:IIS AppPool\站點名
IIS6需要為每個站點建獨立的用戶,為IIS用戶單獨設置權限。
IIS禁止日志記錄。

二、 數據庫優(yōu)化

l 64位MSSQL2008:

少用觸發(fā)器/游標/外鍵。多用存貯過程和視圖。適量使用索引查詢速度會提高很多,每個表的索引盡量不要超過3個。
定時查看死鎖的進程和等待進程,并清除,還要及時修正死鎖的來源。
復雜的統(tǒng)計報表需要用計劃去跑。
查詢記錄數要使用count(0) 不要使用count(*)。
select的時候表字段不要使用*。*查詢所有字段是很慢的。
如果字段是索引列可使用UNION ALL 替代 OR,走索引線路查詢。
大記錄集要使用分頁查詢。
盡量不要使用TEXT/NTEXT類型,要使用VARCHAR(MAX)/NVARCHAR(MAX)。
盡量不要使用臨時表,要使用Table表類型或內嵌視圖。

三、 后端優(yōu)化

l 多使用DbDataReader,盡量不要使用DataTable/DataSet讀取數據。

l for (int i = 0; i < dt.Rows.Count; i++) 應該這么寫:

for (int i = 0, len = dt.Rows.Count; i < len; i++)或

foreach (DataRow info in dt.Rows)推薦這種寫法

l 少用try catch,用到try catch時要和 finally一起使用。

l 多使用using如:

using (DbDataReader dr = Data.GetDbDataReader(strSql)) { while (dr.Read()) { }; }

l 大字符串操作請使用StringBuilder 少使用string,字符串比較用Compare,字符串相加用Concat,大字符串相加用StringBuilder Append。

l 變量要在先定義在使用,不要在循環(huán)內定義變量。如:

錯誤的寫法是:for (int i = 1; i < 10; i++) { string s = i.ToString(); }

正確寫法:string s = string.Empty; for (int i = 1; i < 10; i++) { s = i.ToString(); }

這里還有一個地方要注意的:在字符串相加的時候,如果有int類型的要先轉成string類型在相加,減少不必要的裝箱拆箱操作。

l 如果你使用的是HTML控件,需要禁用<%@ Page EnableViewState="false" AutoEventWireup="false" EnableSessionState="false",web.config <pages enableViewState="false" enableSessionState="false" />

l 使用foreach替代for

l 操作數據庫要使用存貯過程/視圖。

l 多使用CACHE對數據緩存。這才是最關鍵的。NET提供:HttpContext.Current.Cache/HttpRuntime.Cache,共享緩存有velocity/ memcached

l 可使用<%@ OutputCache Duration="60" 緩存頁面,可使用Response.BufferOutput = true;/ <%@ Page Buffer="true" 輸出緩沖。

l 可將站點生成靜態(tài)面頁,好處多多。

l 可使用URL重寫成偽靜態(tài),提供rss/baidu-sitemap/google-sitemap服務,有利于搜索引擎收錄。

l Ajax調用頁面要使用.ashx一般處理程序,速度要比.aspx文件要快。Ajax請求要使用POST不要使用GET。

l 發(fā)布站點時DLL要Release版本,不要用Debug版本。

l IIS需要使用集成模式,不要使用經典模式。

l Web.config 加 <customErrors mode="On" /> 關閉錯誤提示。

l Web.config 加 <compilation debug="false" /> 關閉調試模式。

l 使用Server.Transfer替換Response.Redirect

l 多使用泛型集合操作,少用ArrayList。

四、 前端優(yōu)化

l 最好不使用NET控件,用HTML控件,頁面使用CSS+DIV布局。

l 使用JSON + AJAX進行數據交互。

l 要學會使用jQuery提高開發(fā)速度。

l 盡量少用<img標記,改用background樣式控制背景圖片。這樣做的好處是方便擴展多皮膚。

l 將CSS background背景圖片多張合并成一張圖片,保證合并后的圖片大小不要超過50K??蓪S文件合并在一個JS文件中,然后使用closure_packer_yui_compiler進行壓縮,這樣做的好處是可減少客戶端連接數。

l JS代碼段不要放在HTML頁面,應該放在獨立的JS文件里面,好處是JS文件可以CDN/緩存。

l 可將CSS文件放到<head></head>之間,JS文件或代碼放到</body>之前,讓頁面先顯示在執(zhí)行JS。

l 可將網站的圖片/CSS/JS/資料/資源放到獨立的站點,做下CDN加速,二級域名會有COOKIES,最好使用一級域名。

l A標記和IMG標記需要加上title/alt,<head>標簽內需要加title/keywords/description/rss/sitemap優(yōu)化,有利于搜索引擎收錄。

l 頁面可啟用gzip壓縮。

l 安裝FF的插件“YSlow/Page Speed”。

關于網站訪問速度可做哪些優(yōu)化就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI