日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化...

發(fā)布時間:2025/3/15 asp.net 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
構(gòu)建高性能ASP.NET站點 第六章性能瓶頸診斷與初步調(diào)優(yōu)(下前篇)簡單的優(yōu)化措施 ??? 前言:本篇給出一些在部署ASP.NET站點時采用的簡單的優(yōu)化措施。 ?? ??? 本篇議題如下:?? ??? 識別和分析服務端的性能瓶頸() ?? 內(nèi)存(前篇) ? ?緩存(前篇) ??? CPU(前篇) ?? 處理請求線程(前篇) 提高性能的一些簡單改進措施(下) ???????? 部署優(yōu)化(前篇) 減少不必要回傳(前篇) 減少不必要的請求(后篇) 部署優(yōu)化 我們都知道,不同的部署方式對站點的性能是有影響的,可能有些朋友已經(jīng)知道了這點,不管怎樣,我們這里還是詳細系統(tǒng)的講述一下這個問題,熟悉的朋友權(quán)當回顧J ? Release方式編譯項目 如果我們的項目是用Project的方式建立的,也就是說:我們的站點包含在一個Solution解決方案中,那么在發(fā)布之前,編譯項目的時候,采用release方式,這種方式會減少CPU的使用率。因為采用debug的方式發(fā)布,編譯器會編譯后的代碼中加入很多的信息,如調(diào)試信息等。 操作步驟: 1.?????? VS中,選擇Build | Configuration Manager”.如下: 2.?????? Active Solution Configuration下拉框現(xiàn)在””Release”,然后Close”.那么Solution就以Release方式編譯。(其實使得Solution編譯為Release的方法很多,例如在Solution上面右擊屬性,然后去設置也是可以的) 現(xiàn)在雖然SolutionRelease方式了,但是如果我們?nèi)ゲ榭催@個Solution下面的ASP.NET站點程序的config文件,發(fā)現(xiàn)還是deubg方式的。那么我們在發(fā)布站點的時候,需要手動的去修改為release :如果Solution是以debug方式編譯,即使web.config設置了release,最后發(fā)布的站點的代碼還是方式的。 站點發(fā)布 發(fā)布的步驟如下: 1.?????? 修改web.config配置如下: ? 2.?????? 在站點上面右鍵選擇Publish”.如下: ??? 減少不必要的回傳 ??? 我們都知道,從服務端到客戶端的回傳每次都是需要花費一定的時間的,而且加長了用戶等待的時間。所以有些回傳則是可免則免。? Server.Transfer Vs Response.Redirect 如果我們需要在服務端把用戶定向到另外的一個頁面,那么考慮一下:盡量使用Server.Transfer,而不是使用Response.Redirect ???因為當使用Response.Redirect的時候,服務端會向客戶端的瀏覽器發(fā)送一個響應:告訴瀏覽器去加載轉(zhuǎn)向的那個頁面。然后瀏覽器再次發(fā)送請求到服務端去請求另外的那個頁面。 ? ?? 當我們使用Server.Transfer的時候,服務端就立刻執(zhí)行跳轉(zhuǎn)。這樣做的一個不好的地方可能就是:此時請求的是A.aspx,其實服務端已經(jīng)跳轉(zhuǎn)到了B.aspx頁面,但是瀏覽器上面的Url還是顯示的A.aspx 當使用Server.Transfer需要注意:確定每次訪問A頁面都需要跳轉(zhuǎn)到B頁面的時候,就是用Server.Transfer。例如,拿博客園來舉例,當用戶在沒有登錄的時候想對正在閱讀的一篇文章評論,那么此時,頁面就會跳轉(zhuǎn)到Login的登陸頁面,登陸之后,頁面就跳轉(zhuǎn)到之前看文章的那個頁面,然后寫評論。此時的這個跳轉(zhuǎn)就不適合用Server.Transfer,而采用Response.Redirect。如果不管用戶在哪里,只要用戶登陸,那么總是跳到一個固定的頁面,那么就可以使用Server.Transfer ? 還有就是Server.Transfer畢竟會消耗服務端的資源,使用的時候要注意。 通過上面可以看出:調(diào)優(yōu)本來就是一個折中的過程,不是絕對的。調(diào)優(yōu)最后說到底就是時空轉(zhuǎn)換時間換空間,空間換時間 ??? 聲明站點的默認頁面 當我們請求一個站點的時候,如http://domain/folderIIS會自動進行一些重定向到http://domain/folder/。同時,http.sys也不會把沒有聲明默認頁面的站點的默認首頁加入到內(nèi)核的緩存中(可能說的有點的繞),例如,如果在程序中,我們設置站點的默認頁面時Default.aspx,但是我們在部署到IIS的時候,沒有配置Default.aspx就是站點的默認頁面,那么這個頁面的內(nèi)容不會被http.sys緩存到內(nèi)核中。所以為了避免IIS重定向和允許http.sys緩存頁面,我們在IIS中要配置站點的默認頁面(或者每次在瀏覽器中輸入http://domain/folder/default.aspx,但是我們不能控制用戶的行為,所以這招這幾乎不可能) ????永久跳轉(zhuǎn)相關(guān)話題 如果我們站點的某個頁面過期了或者不再用了,那么我們就可以采用301永久跳轉(zhuǎn)。當服務端向客戶端發(fā)出301響應的時候,瀏覽器和代理都會去更新他們的緩存(如果之前的舊頁面采用了緩存),而且搜索引擎也會采用新的頁面。 要讓服務端向客戶端發(fā)送301響應,如下的方式: 1.代碼: ? Response.StatusCode?=?301;
Response.AddHeader(
"Location",?"NewPage.aspx");
Response.End();

ASP.NET 4.0 及以后的版本: Response.RedirectPermanent("NewPage.aspx");

2. IIS配置 a)???????? IIS 6配置 1.?????? IIS中站點中,選中你想跳轉(zhuǎn)的文件或者目錄。 2.?????? 選中”A redirection to a URL” 3.?????? 然后輸入你想跳轉(zhuǎn)到的頁面。 4.?????? 然后選中”The exact url entered above””A permanent redirect for this resource” b)???????? IIS 7 Server 2008上面 1.?????? 打開開始”->”管理工具”->”服務器管理” 2.?????? IIS上面添加角色服務” 3.?????? 常見Http功能下面選中”Http重定向” 4.?????? 然后安裝。 Win7 上面,如下: 然后,在我們的站點的web.config配置如下: 代碼 <configuration>
??
<location?path="OldPage.aspx">
????
<system.webServer>
?????? <httpRedirect?enabled="true"?destination="NewPage.aspx" httpResponseStatus="Permanent"?/>
????
</system.webServer>
??
</location>
</configuration>
今天就到這里,多謝各位!

總結(jié)

以上是生活随笔為你收集整理的构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。