Windows登錄性能因素
當查找登錄性能問題的原因時,考慮大量因素很重要。一些因素包括:
定義范圍
為了定義問題的實際范圍,我通常花時間詢問簡單的問題。這需要一些精力,因為這些問題通常由抱怨問題的用戶定義。下面是需要詢問的重要問題:
工具和數據收集
我使用一些基本的工具收集數據。對於性能問題,我喜歡廣撒網,收集所有能收集的信息。如下面例子:
在客戶端和他們的驗證數據中心運行微軟產品支持報道(MPSreports)。這是個常用的工具,收集所有事件日志、MSINFO32、NetDiag、PConfig、驅動與hotfixes等的數據。Hewlett-Packard自身也有叫做HPS Reports的版本,在我看來,它比微軟的工具更高級,如果運行在數據中心上,可以收集具體的Active Directory數據。它也收集與硬件相關的多余信息,甚至不是HP的硬件也可以收集。
在客戶端,使用Microsoft KB article 221833為Winlogon系統進程設置冗長的登錄。這將在%Systemroot%\Debug\UserMode\Userenv.log文件裡提供精確的細節。注意,這個日志不包括數據日期,因此你必須:
注意,userenv.log在下面的GPO和配置文件進程很精確,並且通常你能明顯看見哪裡發生了登陸延遲。
啟用Net Logon登錄。Netlogon日志位於%systemroot%\debug,如果沒有啟用登錄就是空的。例如,它會顯示子網裡的哪個客戶端沒有映射到站點。這會導致客戶端在數據中心之外驗證,需要的登錄時間比預想的長。
運行來自Sysinternals的Process Monitor。在啟用啟動日志上的Help部分查看細節。你能在緩慢啟動期間捕獲進程信息查看哪個處理器在影響性能。
解決客戶端登錄緩慢的其他技巧
你還能查看下面的一些事情,看是否由已知的問題導致登錄性能。
首先,在客戶端上檢查GPResult.exe和LOGONSERVER環境變量,MPSreports和HPS Reports將為已登錄的用戶收集GPResult,它們不收集指向驗證數據中心的LOGONSERVER變量。這很重要,因為每次用戶登錄,都會下載GPO到客戶端。SYSVOL(包含GPO)是DFS根,不服從客戶端站點警告。相反,它以隨機命令收集數據中心(宿主SYVOL DFS根),然後可以從列表裡的第一個數據中心下載GPO。
我遇到過這樣的情況,在主服務站點的客戶端將跨過緩慢的WAN連接到數據中心外,以獲得GPO,導致了非常緩慢的登錄時間。由於這可能在每個登錄上發生,所以這個問題是間歇性的。
為下載GPO的數據中心檢查GPResult,並查看GPO是否來自數據中心外面。同樣,比較LOGONSERVER變量,查看客戶端是否在數據中心外驗證。使用已知的緩慢或繁忙連接,登錄延遲能解釋為“通常”行為。
另一個好測試是使用網絡啟動安全模式,查看是否發生延遲。如果沒有,那麼進行Net Start並列出所有啟動的服務。然後以正常模式啟動並運行Net Start,再次列出所有服務。這個不同就能證明是哪個服務有嫌疑,一次消除一個能幫助你識別問題。你也能嘗試禁止啟動時開始的應用,查看該應用是否是原因所在。
最後一種技術是使用Netmon、Wireshark或其他網絡捕獲工具進行網絡追蹤。由於你嘗試捕獲登錄進程,將dumb hub連接到網絡線纜,然後從hub連接線纜到有問題的PC,然後連接另一個線纜到安裝了Netmon或WireShark的另一個PC或筆記本。在混合模式裡運行捕獲工具並復制登錄。這樣的設置將確保捕獲工具收集客戶端內外的流量,並消除網絡噪聲。
上面所述的是你要掌握的基礎。