IIS服務(wù)器與web.config配置優(yōu)化指南_ASP教程
推薦:asp限制上傳文件大小實(shí)例一款利用asp文件上傳組件把文件上傳到服務(wù)器之前進(jìn)行判斷文件大小否超過指定大小了,本實(shí)例講的是upload_5xsoft文件上傳組件哦,file.filesize1000000就可以限制文件為多少k。 dim upload,file,formname,formpath,icount,filename,fileext set upload=new upload_5xsoft
1.修改IIS最大工作進(jìn)程數(shù)
a. 請考慮以下幾點(diǎn):
1.每一個工作進(jìn)程都會消耗系統(tǒng)資源和CPU占用率;太多的工作進(jìn)程會導(dǎo)致系統(tǒng)資源和CPU利用率的急劇消耗;
2.每一個工作進(jìn)程都具有自己的狀態(tài)數(shù)據(jù),如果Web應(yīng)用程序依賴于工作進(jìn)程保存狀態(tài)數(shù)據(jù),那么可能不支持使用多個工作進(jìn)程。
3. 成資源競爭,讓多個工作進(jìn)程運(yùn)行同一個應(yīng)用程序會造成資源競爭
b. 修改ISS最大工作進(jìn)程數(shù)提高該應(yīng)用程序池處理請求的性能
1.在IIS 6.0的Web園(Web Garden)中,指定用于某個應(yīng)用程序池的工作進(jìn)程的數(shù)量就可以提高該應(yīng)用程序池處理請求的性能。當(dāng)服務(wù)器的負(fù)載較小,不需要額外的工作進(jìn)程時,IIS 6.0在一定的時間后(默認(rèn)20分鐘,可配置)自動縮減實(shí)際的工作進(jìn)程數(shù)量;如果負(fù)載變大,需要額外的工作進(jìn)程,IIS 6.0再次增加工作進(jìn)程數(shù)量。這一切操作都自動進(jìn)行,不需要管理員干預(yù)。
2.修改方法如下:
修改服務(wù)器.net framework的machine.config的配置
目錄:C:WINDOWSMicrosoft.NETFramework64v2.0.50727CONFIGmachine.config
將其中的“processModel”節(jié)點(diǎn)的“allowDefinition”值設(shè)置為“Everywhere”
修改服務(wù)器中的iis最大工作進(jìn)程數(shù):
方法:右擊iis應(yīng)用程序池 --> 屬性 -> “性能”選項(xiàng)卡 -> web園 -> 最大工作進(jìn)程數(shù)
注:經(jīng)測試驗(yàn)證,服務(wù)器為32(16*2)核32G內(nèi)存時,設(shè)置為5性能最優(yōu)。
(PS: processModel 元素(ASP.NET 設(shè)置架構(gòu)) 元素配置用于服務(wù)器(包括服務(wù)器上的所有 ASP.NET 應(yīng)用程序)的處理模型。因此,processModel 設(shè)置只能放在 Machine.config 文件中,而且不能被任何 Web.config 文件中的設(shè)置重寫。 )
2.取消IIS的web訪問記錄
a. 關(guān)閉IIS訪問記錄可以提升web性能
1.IIS6.0默認(rèn)開啟對于web的IIS訪問記錄。當(dāng)開啟記錄功能后,IIS會事無巨細(xì)地忠實(shí)記錄所有的IIS訪問記錄。這些記錄文件的內(nèi)容是非常龐雜的,比如訪問時間、客戶端IP、從哪個鏈接訪問、 Cookies等,另外還包括 Method(方法), UserAgent(用戶代理)等。
這些記錄不但占用大量的磁盤空間還大大地影響了web服務(wù)器的性能。有人做過評測,停止IIS訪問記錄可以提升5%到8%的web性能。
2.方法:打開IIS管理器,定位到具體的web站點(diǎn),右鍵點(diǎn)擊選擇“屬性”,在“主目錄”選項(xiàng)卡下取消對“記錄訪問”的勾選即可
Web.config配置優(yōu)化(生產(chǎn)環(huán)境)
1.去除無用HttpModules
d. 并不是所有的Modules都是必需的,去除不用的HttpModules可以提高請求速度
1.asp.net默認(rèn)的HttpModules管理請求的管線控制每一個請求。
例如:SessionStateModule攔截每一個請求,分析session cookie 來加載HttpContext中的合適的session.但是并不是所有的Modules都是必需的,比如:如果你不用membership的話,就不用配置FormsAuthentication模塊;如果你不用windows身份驗(yàn)證就不用配置WindowsAuthentication,這些模塊只是包含在管線里面,為每一個請求執(zhí)行一些并不是必須的代碼。
2.默認(rèn)的模塊定義在machine.config中(在網(wǎng)站的web.config中設(shè)置表示當(dāng)前網(wǎng)站有效)($WINDOWS$Microsoft.NETFramework$VERSION$CONFIG)。如果不需要這些管線的話,配置如下:
代碼如下:
<httpModules>
<!--去除不必要的節(jié)點(diǎn),提高請求速度-->
<remove name="OutputCache" />
<remove name="Session" />
<remove name="WindowsAuthentication" />
<remove name="FormsAuthentication" />
<remove name="PassportAuthentication" />
<remove name="RoleManager" />
<remove name="UrlAuthorization" />
<remove name="FileAuthorization" />
<remove name="AnonymousIdentification" />
<remove name="Profile" />
</httpModules>
2. 關(guān)閉頁面級無用機(jī)制
Web.config中的<pages>節(jié)點(diǎn)配置全局定義頁特定設(shè)置,如配置文件范圍內(nèi)的頁和控件的 ASP.NET 指令。默認(rèn)enableViewState屬性為“true”,即開啟視圖,如果不使用這個機(jī)制就可以設(shè)置為“false”。
默認(rèn)autoEventWireup屬性為“true”,即開啟頁事件,如果不使用這個機(jī)制就可以設(shè)置為“false”。
默認(rèn)buffer屬性為“true”,即開啟 HTTP 響應(yīng)緩沖。
默認(rèn)enableViewStateMac屬性為“false”,開啟對頁的視圖狀態(tài)運(yùn)行計算機(jī)身份驗(yàn)證檢查 (MAC),以放置用戶篡改,如果設(shè)置為true,將會引起性能的降低。
默認(rèn)validateRequest默認(rèn)為true,開啟驗(yàn)證用戶輸入中有跨站點(diǎn)腳本攻擊和SQL注入式漏洞攻擊,,如果出現(xiàn)匹配情況就會發(fā) HttpRequestValidationException 異常。
3. 將CustomError設(shè)置為非Off狀態(tài)
Web.config中的<customErrors>節(jié)點(diǎn)用于定義一些自定義錯誤信息的信息。此節(jié)點(diǎn)有Mode和defaultRedirect兩個屬性,其中defaultRedirect屬性是一個可選屬性,表示應(yīng)用程序發(fā)生錯誤時重定向到的默認(rèn)URL,如果沒有指定該屬性則顯示一般性錯誤。Mode屬性是一個必選屬性,它有三個可能值,它們所代表的意義分別如下:
Mode 說明
On 表示在本地和遠(yuǎn)程用戶都會看到自定義錯誤信息。
Off 禁用自定義錯誤信息,本地和遠(yuǎn)程用戶都會看到詳細(xì)的錯誤信息。
RemoteOnly 表示本地用戶將看到詳細(xì)錯誤信息,而遠(yuǎn)程用戶將會看到自定義錯誤信息。
這里有必要說明一下本地用戶和遠(yuǎn)程用戶的概念。當(dāng)我們訪問asp.net應(yīng)用程時所使用的機(jī)器和發(fā)布asp.net應(yīng)用程序所使用的機(jī)器為同一臺機(jī)器時成為本地用戶,反之則稱之為遠(yuǎn)程用戶。在開發(fā)調(diào)試階段為了便于查找錯誤Mode屬性建議設(shè)置為Off,而在部署階段應(yīng)將Mode屬性設(shè)置為On或者RemoteOnly,以避免這些詳細(xì)的錯誤信息暴露了程序代碼細(xì)節(jié)從而引來黑客的入侵。
配置如下:
代碼如下:
<customErrors mode=" On " defaultRedirect="Error.html"/>
分享:一個實(shí)用asp分頁函數(shù)分享一個asp分頁函數(shù),感覺挺好看的。視圖如圖: 可以根據(jù)自己的情況修改,代碼: % '謝亮修分頁程序 'call pagecontrol(記錄總數(shù),頁碼總數(shù),當(dāng)前頁) Sub PageControl(iCount,pagecount,page) response.Write(style type=text/css/*謝亮分頁CSS*/div.pager{padding:10px
- asp FSO 讀寫文件本文件實(shí)現(xiàn)代碼
- asp中isNull、isEmpty和空字符串的區(qū)別
- asp獲取用戶真實(shí)IP地址的方法
- asp連接sqlserver數(shù)據(jù)庫實(shí)現(xiàn)代碼
- asp中正則表達(dá)式過濾html代碼函數(shù)
- asp中g(shù)et post提交表單區(qū)別
- 網(wǎng)頁模板:ASP內(nèi)建對象Request
- xmlhttp的open方法使用詳解
- ASP的常用的自定義函數(shù)大全
- asp中用for循環(huán)的一個小技巧
- eWebEditor v3.8 列目錄
- ASP無組件分頁實(shí)現(xiàn)思路及代碼
- 相關(guān)鏈接:
- 教程說明:
ASP教程-IIS服務(wù)器與web.config配置優(yōu)化指南
。