明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

詳細(xì)說明Win2003+IIS6.0搭載web服務(wù)器怎么進(jìn)行優(yōu)化性能問題

[摘要]軟件等級:更新時間:2016-03-10綠茶一鍵共享工具(支持winxp、win2003)下載2.0 (局域網(wǎng)共享設(shè)置)綠色版立即下載Win2003+IIS6.0搭載web服務(wù)器如何進(jìn)行性能優(yōu)化問題...

Win2003+IIS6.0搭載web服務(wù)器如何進(jìn)行性能優(yōu)化問題詳解

我在SQL企業(yè)管理器中查看SQL進(jìn)程 發(fā)現(xiàn)有很多是 。net 引起的進(jìn)程是sleeping 但是卻占用了內(nèi)存~ 無法釋放。

答:IIS服務(wù)管理器----》應(yīng)用程序池----》添加你的應(yīng)用,并設(shè)置最大內(nèi)存,當(dāng)程序達(dá)到最大內(nèi)存后其會自動重啟。

我的題目跟你一樣,不過我的內(nèi)存是2G的,訪問量比較高,一般是差未幾運(yùn)行24小時后就得重啟,內(nèi)存沒耗完,W3WP進(jìn)程占到一百***十兆,SQL占了二百多兆時,就得重啟,不然整個站點(diǎn)就當(dāng)在那邊....55555555,搞了快半個月了還是不行,痛苦啊

w3wp.exe 就是你的ASP.NET應(yīng)用宿主,假如你使用了大量的Session、Cache等資源,并且Session超市時間很長,那么內(nèi)存占用量就比較大。應(yīng)用池是為增加性能而設(shè)的一個特性,但是也消耗很大的內(nèi)存。另外關(guān)掉Windows Server 2003里的大多數(shù)Service(那個不用都可以關(guān)掉),也可以節(jié)省一部分內(nèi)存

1.懷疑在程序中應(yīng)用的CACHE,

2.CACHE中有大量的數(shù)據(jù)

3.頻繁刷新CACHE

4.沒有設(shè)計(jì)好CACHE的方式

你的問題我以前也遇見過,我以前是用的Session,后我全部改成cook之后就好多了,應(yīng)該是你的Session或是你的CACHE有問題(CACHE不太懂,但多多少應(yīng)該是有的)
 

問:好多asp.net程序,放在一臺服務(wù)器上,客戶端連接使用一段時間后,在服務(wù)器上打開任務(wù)管理器一看,發(fā)現(xiàn)有很多w3wp.exe,占用內(nèi)存很大,達(dá)到1g,請問為什么會這樣?有什么辦法可以避免這種情況呢?

答:這主要是你的ASP.NET 開發(fā)的程序有 內(nèi)存泄漏;對于 非托管資源,一定要注意 釋放。

問:我的具體情況是這樣的:

服務(wù)器配置 至強(qiáng)2.8G 內(nèi)存512M SCSI硬盤 2塊 (軟鏡像)

系統(tǒng) windows 2003

現(xiàn)在掛了一個asp.net開發(fā)的網(wǎng)站 訪問量不大 但是出現(xiàn)一個 題目就是

每當(dāng)服務(wù)器運(yùn)行2-3天后 訪問網(wǎng)站就特別慢 重啟動服務(wù)器后就 正常了

查看進(jìn)程使用內(nèi)存的情況 發(fā)現(xiàn)w3wp.exe 和sqlservr.exe 進(jìn)程 占用內(nèi)存

相當(dāng)大 達(dá)到了170多M( 每個) 物理可用內(nèi)存幾乎用光

(服務(wù)器重啟動時 占用的內(nèi)存很小才40多M 每個)

以前網(wǎng)站掛在一個虛擬機(jī)上 數(shù)據(jù)庫是分開掛的 從沒出現(xiàn)這種情況

后來 原版移植到新服務(wù)器上就 出現(xiàn)這樣的題目~~


跟蹤下SQL的調(diào)用記錄,在每次往CACHE或SESSION寫入大量數(shù)據(jù)時記錄一下時間,看是否太過頻繁

1.在win2003里asp.net的進(jìn)程就是w3wp.exe

2.512M 內(nèi)存?zhèn)人用是夠用了,但是放在服務(wù)器上就有點(diǎn)不夠用了,尤其是win2003 + asp.net +sql server 。尤其是sql server 他是很吃內(nèi)存的,假如不控制的話,他會占光所有的物理內(nèi)存(只剩下幾十M 倒 100M 吧)。win2003 本身就要占用150M左右。也就剩不下什么了。

3.優(yōu)化asp.net程序,就向樓上的說的那樣,少用或不用session cache application之類的東西,再有就是是不是有翻頁的地方,翻頁處理不好也是會占很多內(nèi)存的。

4.限制sql的內(nèi)存。企業(yè)管理器——SQL的屬性(一般是local)——“內(nèi)存”標(biāo)簽

在這里看內(nèi)存的設(shè)置,把最大值改成100M吧。

第四條是最快的方法,可以試一試。

我的一個自開發(fā)OA系統(tǒng)也存在這樣的問題。

總結(jié)上面,大概原因是因?yàn)?session 和 cache 的不合理使用造成的。

我的應(yīng)用程序中,確實(shí)用了很多的Session 和 Cache,

在 MSDN 中找到 了 “動態(tài)內(nèi)存分配”這一篇,今天就試看看,是否有效。

?从薪(jīng)驗(yàn)的朋友多給些信息,大家也好總結(jié)下出現(xiàn)類似錯誤的原因,謝謝!

不知道你是什么網(wǎng)站。按理說是不會占用這么大的。如上你用了cache存放了超額的內(nèi)容。當(dāng)然。象session這種是不太可能占用這么大的了,或用了 application 類似的一些有超長時間或永久保持性的對象來保存大量數(shù)據(jù)。如利用單例保存數(shù)據(jù)這些都有可能造成使用大量的內(nèi)存。

建義2003系統(tǒng)安裝至少1G內(nèi)存。

w3wp.exe是2003下的一個iis進(jìn)程,至于樓主說的sql占用內(nèi)存,那有可能是因?yàn)槟愕膕ql沒有設(shè)置占用內(nèi)存上限

打造基于IIS 6.0的站點(diǎn)是很多企業(yè)的首選,但是IIS相對于其他Web平臺不但對硬件的要求比較高,而且其性能不夠盡如人意。如果沒有強(qiáng)勁的硬件平臺,用IIS搭建的Web站點(diǎn)確實(shí)有些老牛破車的味道。另外,IIS保守的默認(rèn)設(shè)置讓這一切雪上加霜。如何在現(xiàn)有的硬件平臺上打造快捷的Web服務(wù)器呢?那就從IIS優(yōu)化,為Web減負(fù)開始。
  1、禁止多余的Web服務(wù)擴(kuò)展

  IIS6.0支持多種服務(wù)擴(kuò)展,有些管理員偷懶或者不求甚解,擔(dān)心Web運(yùn)行中出現(xiàn)解析錯誤,索性在建站時開啟了所有的Web服務(wù)擴(kuò)展。殊不知,這其中的有些擴(kuò)展比如“所有未知CGI擴(kuò)展”、“在服務(wù)器端的包含文件”等是Web運(yùn)行中根本用不到的,況且還占用IIS資源影響性能拖垮Web,甚至某些擴(kuò)展存在漏洞容易被攻擊者利用。因此,科學(xué)的原則是,用到什么擴(kuò)展就啟用什么擴(kuò)展。

  如果企業(yè)站點(diǎn)是靜態(tài)頁面,那什么擴(kuò)展都不要開啟。不過現(xiàn)在的企業(yè)站點(diǎn)都是交互的動態(tài)頁面比如asp、php、jsp等。如果是asp頁面,那只需開啟“Active Server Pages”即可。對于php、jsp等動態(tài)頁面IIS6.0默認(rèn)是不支持的需要進(jìn)行安裝相應(yīng)組件實(shí)現(xiàn)對這些擴(kuò)展的支持。不過,此時用不到的擴(kuò)展完全可以禁用。

  禁止Web服務(wù)擴(kuò)展的操作非常簡單,打開“IIS管理器”,在左窗格中點(diǎn)擊“Web服務(wù)擴(kuò)展”,在右側(cè)選擇相應(yīng)的擴(kuò)展,然后點(diǎn)擊“禁用”即可。

2、刪除不必要的IIS擴(kuò)展名映射

  IIS默認(rèn)支持.asp、.cdx等8種擴(kuò)展名的映射,這其中除了.asp之外其他的擴(kuò)展幾乎用不到。這些用不著的擴(kuò)展會加重web服務(wù)器的負(fù)擔(dān),而且?guī)硪欢ǖ陌踩[患。比如.asa,.cer等擴(kuò)展名,就可以被攻擊者利用來獲得webshell。因?yàn)橐话愕腶sp系統(tǒng)都會限制asp文件的上傳,但如果沒有限制.asa或者.cer等擴(kuò)展名,攻擊者就可以更改文件后綴突破上傳限制,運(yùn)行.asa或者.cer的文件獲得webshell。

刪除IIS擴(kuò)展名的操作是:打開IIS管理器,右鍵單擊“默認(rèn)Web站點(diǎn)”選擇“屬性”,點(diǎn)擊“主目錄”選項(xiàng)卡,然后點(diǎn)擊“配置”打開應(yīng)用程序窗口,最后根據(jù)自己的需要選擇不必要的應(yīng)用程序映射比如.shtml, .shtm, .stm等,然后點(diǎn)擊“刪除”即可.

3、取消訪問記錄

  IIS6.0默認(rèn)開啟對于web的訪問記錄。當(dāng)開啟記錄功能后,IIS會事無巨細(xì)地忠實(shí)記錄所有的web訪問記錄。這些記錄文件的內(nèi)容是非常龐雜的,比如訪問時間、客戶端IP、從哪個鏈接訪問、 Cookies等,另外還包括 Method(方法), UserAgent(用戶代理)等。這些記錄不但占用大量的磁盤空間還大大地影響了web服務(wù)器的性能。有人做過評測,停止訪問記錄可以提升5%到8%的 web性能。而且這些記錄對于一般用戶,特別是中小型的Web站點(diǎn)沒有什么用途,簡直太耗費(fèi)系統(tǒng)性能了,因此建議關(guān)閉它。

  取消訪問記錄的操作是:打開IIS管理器,定位到具體的web站點(diǎn),右鍵點(diǎn)擊選擇“屬性”,在“主目錄”選項(xiàng)卡下取消對“記錄訪問”的勾選即可。

4、對訪問流量進(jìn)行限制

  默認(rèn)情況下IIS 6.0對于訪問量是沒有限制的,如果并發(fā)連接過大超過了Web的負(fù)載輕則發(fā)生網(wǎng)絡(luò)擁塞,重則導(dǎo)致服務(wù)器宕機(jī)。因此需要對用戶的訪問進(jìn)行限制,控制Web訪問的流量。

  打開“Internet信息服務(wù)”管理器,在其窗口右側(cè)點(diǎn)擊主機(jī)名前面的“+”號,依次定位到某個Web站點(diǎn)上。選中該Web站點(diǎn)右鍵單擊選擇 “屬性”,在打開的屬性設(shè)置窗口中選中“性能”標(biāo)簽,將“啟用帶寬限制”復(fù)選框選中,在隨后被激活的“最大網(wǎng)絡(luò)使用”設(shè)置框中,指定你的網(wǎng)絡(luò)站點(diǎn)帶寬的具體數(shù)值。大家可以根據(jù)服務(wù)器的性能及其訪問量綜合考慮繼續(xù)設(shè)置。對于一般的企業(yè)站點(diǎn)將帶寬流量設(shè)置為1500kb/s就差不多了。同時在“網(wǎng)站連接”下可以進(jìn)行連接限制的設(shè)置,大家可以根據(jù)情況設(shè)置一個數(shù)值。完成以上設(shè)置后,IIS就只能使用其被授予的資源進(jìn)行Web服務(wù),杜絕了異常情況造成的服務(wù)器過載,為Web減負(fù)。

5、讓W(xué)eb負(fù)載自由伸縮

  默認(rèn)情況下IIS是全負(fù)荷地為Web提供服務(wù)的,這在一定程度上加重了Web負(fù)擔(dān)。如何能夠自動地根據(jù)負(fù)載變化自動調(diào)節(jié)工作進(jìn)程呢?

  利用IIS 6.0的Web園,我們只需指定用于某個應(yīng)用程序池的工作進(jìn)程的數(shù)量就可以了實(shí)現(xiàn)各個Web站點(diǎn)之間的隔離。具體的配置步驟是:在“Internet信息服務(wù)”管理器中打開應(yīng)用程序池的“屬性”對話框,轉(zhuǎn)到“性能”頁,在“Web園”下面的“最大工作進(jìn)程數(shù)”輸入框中輸入進(jìn)程數(shù)量。當(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ù)量。另外,還可以“啟用CUP監(jiān)視”,設(shè)置“最大CPU使用率”,“刷新CUP使用率值”以及“CPU使用率超過最大使用率是執(zhí)行的操作”,這些設(shè)置可以根據(jù)需要進(jìn)行設(shè)置。當(dāng)一切設(shè)置完成后這一切就交給IIS自動進(jìn)行,不需要管理員干預(yù)。 (圖6)

6、配置應(yīng)用呈現(xiàn)池

  IIS可以支持多個Web服務(wù),特別是虛擬主機(jī)一臺服務(wù)器上有非常多的Web站點(diǎn)。如何才能做到各個站點(diǎn)之間相互獨(dú)立,不因某些Web站點(diǎn)出現(xiàn)故障而影響其他站點(diǎn)呢?為不同工作進(jìn)程指定應(yīng)用程序池是個很好的解決辦法。

  (1)、創(chuàng)建

  打開“IIS 管理器”中,展開本地計(jì)算機(jī),右鍵單擊“應(yīng)用程序池”,選擇“新建→應(yīng)用程序池”。在“應(yīng)用程序池名稱”框中,輸入新的應(yīng)用程序池名稱。如果點(diǎn)選選“將現(xiàn)有應(yīng)用程序池作為模板”,可以在“應(yīng)用程序池名稱”下來列表中選擇相應(yīng)的應(yīng)用程序池,最后單擊“確定”即可。 (圖7)

(2)、指派

  在“IIS 管理器中”,右鍵單擊你要為其指派應(yīng)用程序池的站點(diǎn)然后單擊“屬性”。在該站點(diǎn)的屬性面板中“主目錄”選項(xiàng)卡,在“應(yīng)用程序池”下拉列表中選擇剛才創(chuàng)建的應(yīng)用程序池即可。如果所有的選項(xiàng)為灰色,單擊“創(chuàng)建”按鈕就可以輸入“應(yīng)用程序名”,然后在“應(yīng)用程序池”列表框中,選擇并指派網(wǎng)站的應(yīng)用程序池了。

(3)、回收

  利用“回收”功能,可是設(shè)置如何恢復(fù)系統(tǒng)資源進(jìn)行IIS資源使用的靈活定制。打開“IIS 管理控制臺”,單擊“+”號依次“展開本地計(jì)算機(jī)→應(yīng)用程序池”。選擇你要回收的應(yīng)用程序池右鍵單擊選擇“屬性”,出現(xiàn)應(yīng)用程序池的屬性對話框,單擊“回收”選項(xiàng)卡在其下可以設(shè)置“進(jìn)程回收”、“內(nèi)存回收”等,所有這些設(shè)置大家根據(jù)實(shí)際需要進(jìn)行設(shè)置。

總結(jié):通過上述IIS優(yōu)化措施,Web服務(wù)器就能輕裝上陣其性能將會有較大的提升。當(dāng)然,要從根本上改善Web性能,僅僅進(jìn)行軟設(shè)置是不夠的。另外,還需要進(jìn)行硬件改造,軟硬結(jié)合才是最完美的解決方案。

管理互聯(lián)網(wǎng)信息服務(wù)器(Internet Information Server,IIS)大家都知道,它是一個既簡單而又麻煩的東西,簡單的是安裝它幾乎不需要費(fèi)什么腦筋,選擇一下路徑,然后一路按“下一步”就可以完成;配置也比較簡單,只要有一定的NT和網(wǎng)絡(luò)知識,照著說明書就可以架設(shè)一個像模像樣的Web站點(diǎn)出來。然而管理IIS卻沒有想像的那樣簡單。使用一段時間以后,管理員往往會遇上服務(wù)器性能不良的情況。這時候,IIS的性能優(yōu)化,就尤為重要了。

  導(dǎo)致IIS服務(wù)性能不良的原因有兩個方面。一個是人為的,也就是說管理員在安裝、配置IIS的時候沒有進(jìn)行優(yōu)化或者配置錯誤。另一個則是客觀上的,隨著運(yùn)行的服務(wù)種類,以及訪問人數(shù)的增加,服務(wù)器原有的硬件配置已不能滿足要求了,這就需要提高硬件配置。

  在服務(wù)器配置上優(yōu)化IIS性能

  1.IIS高速緩存是對IIS進(jìn)行優(yōu)化時要考慮的最重要的項(xiàng)目之一。服務(wù)器保留了一部分內(nèi)存空間用作IIS高速緩存,為將來的請求存儲對象,這樣IIS就可從高速緩存中檢索對象而不用從硬盤中檢索。

  調(diào)整IIS高速緩存的容量需要修改注冊表,表項(xiàng)如下:

  \HKEY_LOCAL_MACHINE
  \System
  \CurrentControlSet
  \Services
  \InetInfo
  \Parameters
  \MemoryCacheSize
  MemoryCacheSize的范圍是從0道4GB,缺省值為3072000(3MB)。

  IIS通過高速緩存系統(tǒng)句柄、目錄列表以及其他常用數(shù)據(jù)的值來提高系統(tǒng)的性能。這個參數(shù)指明了分配給高速緩存的內(nèi)存大小。如果該值為0,那就意味著 “不進(jìn)行任何高速緩存”。在這種情況下系統(tǒng)的性能可能會降低。如果你的服務(wù)器網(wǎng)絡(luò)通訊繁忙,并且有足夠的內(nèi)存空間,可以考慮增大該值。必須注意的是修改注冊表后,需要重新啟動才能使新值生效。

  2.使IIS使用處理器時間最長。服務(wù)器的CPU處理器能力總是有限的。哪一個應(yīng)用程序占用處理器的時間最長,誰的性能就能得到最大的提高。

 。1)在NT的控制面板中,雙擊系統(tǒng)圖標(biāo)。
 。2)單擊性能標(biāo)簽。
 。3)在應(yīng)用程序性能下將游標(biāo)拖到None的位置,這樣就可以使所有正在運(yùn)行的服務(wù),包括IIS,使用處理器的時間達(dá)到最大值。

  3.服務(wù)器屬性設(shè)置。在服務(wù)器屬性里有一項(xiàng)可以使網(wǎng)絡(luò)應(yīng)用程序的總處理能力最大的選項(xiàng),你當(dāng)然應(yīng)該選擇它。

  (1)在桌面上右鍵單擊網(wǎng)絡(luò)鄰居圖標(biāo),然后選擇屬性選項(xiàng)。
  (2)單擊“服務(wù)標(biāo)簽”。
  (3)單擊“服務(wù)器”,然后按“屬性”。
  (4)選擇最大化網(wǎng)絡(luò)應(yīng)用程序的總處理能力。然后單擊“OK。”

  提高硬件配置來優(yōu)化IIS性能

  當(dāng)進(jìn)行了上述的優(yōu)化配置,IIS的性能仍然沒有什么明顯改善的話,也許你應(yīng)該考慮提高服務(wù)器配置了。如升級處理器,增加硬盤,升級網(wǎng)卡,增加內(nèi)存等。

  優(yōu)化IIS的注意事項(xiàng)

  為了避免以后的頭疼,在安裝IIS之時就應(yīng)該注意到IIS的優(yōu)化。比如:

  1.使用磁盤鏡像或磁盤帶區(qū)集可以提高磁盤的讀取性能。

  2.關(guān)于日志的記錄,應(yīng)該采用文件記錄而不是記錄到ODBC數(shù)據(jù)源。此外,還可以在記錄期間增加用來記錄日志的內(nèi)存緩沖區(qū)的容量來減少磁盤的活動。該緩沖區(qū)的缺省容量值為64KB。

  3.最好把所有的數(shù)據(jù)都儲存在一個單獨(dú)的分區(qū)里。然后定期運(yùn)行磁盤碎片整理程序以保證在存儲Web服務(wù)器數(shù)據(jù)的分區(qū)中沒有碎片。使用NTFS有助于減少碎片。筆者推薦使用Norton的Speeddisk,可以很快地整理NTFS分區(qū)。

  4.雖然SSL可以提供相當(dāng)可靠的加密傳輸。但是所需的額外開銷會導(dǎo)致IIS服務(wù)器速度下降,尤其是在處理大型文件的時候。所以應(yīng)該只對確實(shí)需要保護(hù)的目錄進(jìn)行SSL加密。

        5.為了提高性能和節(jié)約資源,應(yīng)該只運(yùn)行需要的協(xié)議。這一點(diǎn)很多管理員都沒有注意,筆者曾見到在一臺只作Web服務(wù)的機(jī)器上同時安裝有NetBEUI、Tcp/IP和IPX協(xié)議。顯然這是不合理的。

  6.應(yīng)該將IIS服務(wù)器,設(shè)置為獨(dú)立的服務(wù)器,不要讓服務(wù)器去承受域控制器要求的額外負(fù)荷。試想:服務(wù)器一邊在響應(yīng)用戶的登錄,一邊還要提供IIS服務(wù),性能能不下降嗎?

  7.可以把NT服務(wù)器的頁交換文件分布到多個物理磁盤上,注意是多個“物理磁盤”,分布在多個分區(qū)上是無效的。另外,不要將頁交換文件放在與WIndows NT引導(dǎo)區(qū)相同的分區(qū)中。


學(xué)習(xí)教程快速掌握從入門到精通的電腦知識