排查IIS ASP.NET網站應用程式記實
事情發生在windows domain controller (DC)伺服器的硬碟故障導致我們直接放棄該台DC並將所有DC工作全部轉移到另一台DC之後。登入網域驗證的工作沒有問題的移轉了, 但問題出在DNS: client若使用DHCP取得IP的, 基本沒什麼問題。問題在固定IP的電腦或伺服器, 基本上若有變慢或卡住的情形, 檢查其DNS設定做更改就是。但有些情況是比較難排查的: 我們注意到內部一套使用ASP.NET開發的系統, 之前都流暢運行, 現在在登入或操作數分鐘之後, 會出現卡住10多秒的情形, 但之後又可以持續正常運行一段時間。 一開就懷疑是名稱解析問題, 但該伺服器的DNS已改成正確的, 狀況還是沒有改善。問Copilot意見,由它的建議中,找到查IIS Log的方法: 📑 檢查 IIS 日誌 日誌位置 預設路徑: 程式碼 %systemroot%\system32\LogFiles\W3SVC1\ (不同網站會有不同的 W3SVC 編號資料夾) 打開最可能的日誌檔後,複製全部的內容,再貼回給Copilot去分析。它告訴我幾個要注意的地方, 其中出現302重導, POST請求的問題, 可能是登入流程, session驗證, 或後端SQL查詢延遲。這讓我將注意力放到登入的部份, 確實問題是在登入或操作數分鐘之後, 會出現卡住10多秒的情形。而我們的ASP.NET應用程式, 也是在登入時必須和後端資料庫比對資料成功後才發給session。先看看是否連線到資料庫正常, 用tnsping: C:\Documents and Settings\ops>tnsping xxx TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 25-6月 -2 026 10:53:52 Copyright (c) 1997 Oracle Corporation. All rights reserved. 已使用的參數檔案: 使用 TNSNAMES 介面程式來解析別名 Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOS...