亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

IIS應(yīng)用程序池崩潰的解決方案

 更新時(shí)間:2024年03月07日 11:33:05   作者:Damon小智  
在使用IIS過程中,可能會(huì)遇到應(yīng)用程序池崩潰的問題,原因可能有很多,包括代碼錯(cuò)誤、資源不足、進(jìn)程沖突等,本文主要介紹了這些原因的解決,感興趣的可以了解一下

IIS是微軟開發(fā)的Web服務(wù)器軟件,被廣泛用于Windows平臺(tái)上的網(wǎng)站托管。在使用IIS過程中,可能會(huì)遇到應(yīng)用程序池崩潰的問題,原因可能有很多,包括代碼錯(cuò)誤、資源不足、進(jìn)程沖突等。本文將為大家介紹IIS應(yīng)用程序池崩潰的問題分析和解決方案。如果您在IIS的Events日志下觀察到以下任一事件,那么本文適合您。

遇到這個(gè)問題是我在升級(jí)項(xiàng)目版本的時(shí)候,升級(jí)后的版本網(wǎng)頁(yè)功能雖然可以正常使用,但每隔幾分鐘程序池就會(huì)忽然崩潰,導(dǎo)致訪問503報(bào)錯(cuò),我登陸IIS管理器查看,該應(yīng)用掛載的應(yīng)用池狀態(tài)自動(dòng)變?yōu)榱薙topped。

iis 000 1024x486 - IIS應(yīng)用程序池崩潰的解決方案

一、確認(rèn)程序池崩潰原因

a) 滿足下面兩個(gè)特征的IIS程序池崩潰是本文可以解決的,其崩潰原因是應(yīng)用程序內(nèi)部反復(fù)報(bào)錯(cuò),一般是短時(shí)間超過五次,導(dǎo)致IIS自動(dòng)關(guān)閉程序池。
b) 如果不滿足這兩個(gè)條件,那就不是程序報(bào)錯(cuò)導(dǎo)致的,后面的內(nèi)容也就不用看了。

1、應(yīng)用池崩潰后,網(wǎng)頁(yè)訪問提示503。

2、查看IIS的Events里有無錯(cuò)誤。

通常報(bào)錯(cuò)為:

A process serving application pool ‘Classic .NET AppPool’ suffered a fatal communication error with the Windows Process Activation Service. The process id was ‘3328’. The data field contains the error number.

我在Server Manager>IIS>Events下查看,這里是有報(bào)錯(cuò)的。

iis 001 1024x671 - IIS應(yīng)用程序池崩潰的解決方案

二、查找問題來源并修復(fù)

1、下載 DebugDiag 插件

這里我們下載一個(gè)插件 Debug Diagnostic Tool (點(diǎn)擊此處跳轉(zhuǎn)下載頁(yè)面),通過這個(gè)插件,我們可以在IIS的錯(cuò)誤事件發(fā)生時(shí)捕獲更加詳細(xì),應(yīng)用級(jí)別的日志。

iis 002 1024x611 - IIS應(yīng)用程序池崩潰的解決方案

點(diǎn)擊download下載,選擇32還是64位,下載msi鏡像,下載成功之后安裝。

iis 003 - IIS應(yīng)用程序池崩潰的解決方案

2、配置 DebugDiag 的斷點(diǎn)信息

安裝成功之后我們打開安裝好的 DebugDiag 2 Analysis 程序,按照下面步驟添加斷點(diǎn)。

選擇“crash (崩潰)”規(guī)則。

iis 004 - IIS應(yīng)用程序池崩潰的解決方案

選擇“A specific IIS web application pool (特定 IIS Web 應(yīng)用程序池)”

iis 005 - IIS應(yīng)用程序池崩潰的解決方案

選擇崩潰的特定應(yīng)用程序池。

iis 006 - IIS應(yīng)用程序池崩潰的解決方案

選擇“Breakpoint (斷點(diǎn))”

iis 006 - IIS應(yīng)用程序池崩潰的解決方案

點(diǎn)擊“添加斷點(diǎn)”

iis 008 - IIS應(yīng)用程序池崩潰的解決方案

單擊 Breakpoint 下的“Ntdll!ZwTerminateProcess”,將其選為 Breakpoint Expression。將 Action Type 更改為“Full userdump”并將 Action Limit 設(shè)置為 10,然后單擊 OK。

iis 009 - IIS應(yīng)用程序池崩潰的解決方案

點(diǎn)擊保存并關(guān)閉。
點(diǎn)擊下一步以激活斷點(diǎn)。

點(diǎn)擊“Next”,配置日志路徑

iis 010 - IIS應(yīng)用程序池崩潰的解決方案

單擊“Finish”以激活規(guī)則。

您現(xiàn)在會(huì)看到崩潰規(guī)則處于活動(dòng)狀態(tài)并且“Userdump Count”為0。一旦問題發(fā)生,轉(zhuǎn)儲(chǔ)計(jì)數(shù)就會(huì)增加,并會(huì)生成相應(yīng)的轉(zhuǎn)儲(chǔ)文件。

3、復(fù)現(xiàn)崩潰場(chǎng)景,查看問題日志

我們復(fù)現(xiàn)了出現(xiàn)問題的場(chǎng)景,IIS應(yīng)用池再次崩潰,網(wǎng)頁(yè)503無法訪問,DebugDiag Tool的“Userdump Count”變?yōu)榱?0,表示程序池崩潰前程序已經(jīng)出錯(cuò)了10次。

iis 012 1024x698 - IIS應(yīng)用程序池崩潰的解決方案

我們根據(jù)剛剛配置的日志路徑,找到對(duì)應(yīng)這個(gè)問題應(yīng)用池的日志文件。

iis 013 - IIS應(yīng)用程序池崩潰的解決方案

打開日志文件,我們看到了應(yīng)用運(yùn)行中的種種報(bào)錯(cuò),找到反復(fù)高頻報(bào)錯(cuò)的點(diǎn),然后修復(fù)即可。

iis 014 1024x756 - IIS應(yīng)用程序池崩潰的解決方案

我這里有兩個(gè)異常,一個(gè)是Ibatis映射的對(duì)象屬性沒有對(duì)上,導(dǎo)致的工廠加載時(shí)報(bào)錯(cuò)。另一個(gè)是空指針異常,因?yàn)橛袀€(gè)全局變量在全局線程里反復(fù)調(diào)用,但配置文件里忘記配置了。兩個(gè)都是因?yàn)榇中膶?dǎo)致的烏龍問題 = =。

到此這篇關(guān)于IIS應(yīng)用程序池崩潰的解決方案的文章就介紹到這了,更多相關(guān)IIS應(yīng)用程序池崩潰內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論