提高活動(dòng)目錄性能與安全的LSASS進(jìn)程
對(duì)活動(dòng)目錄來說有著最高級(jí)別的重要性但通常很少得到管理員理解的活動(dòng)目錄相關(guān)服務(wù)就是本地安全權(quán)威子系統(tǒng)(LSASS)。
在所有運(yùn)行在域控制器(DC)上的活動(dòng)目錄服務(wù)中,我可以打賭,LSASS.exe系統(tǒng)錯(cuò)誤或失敗是最常見且對(duì)該環(huán)境有最大影響。因此,活動(dòng)目錄管理員和支持人員理解LSASS的工作及故障排解的途徑非常重要。
LSASS是什么?
LSASS.exe主要任務(wù)是處理認(rèn)證請(qǐng)求并允許或拒絕對(duì)用戶請(qǐng)求的訪問。這些請(qǐng)求來自于域登錄嘗試或是回答用戶請(qǐng)求的其它服務(wù)或應(yīng)用。在所有事件中,如果LSASS不及時(shí)處理請(qǐng)求,該請(qǐng)求可能失敗或者長(zhǎng)時(shí)間推后。
LSASS.exe主要消耗每個(gè)域控制器上的內(nèi)存和CPU資源。對(duì)這些資源的消耗如果達(dá)到某一程度,域控制器可能會(huì):
無(wú)法滿足其它服務(wù)的要求,如活動(dòng)目錄復(fù)制。
由于LSASS需要的資源比域控制器可提供的更多,回應(yīng)認(rèn)證請(qǐng)求和LDAP搜索的速度變慢。
終止或中斷所有服務(wù)。
這不是一個(gè)新問題,微軟在KB和TechNet上的文章中都很好地記錄了該問題。說到描述該問題和規(guī)定LSASS的功能,KB 308356是其中最好的文章之一,盡管它更多地傾向于Windows 2000。它表明,該方案不是得到更多內(nèi)存/CPU就是減少域控制器上的負(fù)載。
LSASS問題出現(xiàn)的原因
了解什么導(dǎo)致LSASS消耗資源很重要。首先,當(dāng)域控制器啟動(dòng)時(shí),NTDS.dit(活動(dòng)目錄的Jet數(shù)據(jù)庫(kù))至少部分和LSASS負(fù)載到相同的內(nèi)存空間。當(dāng)然,這受到了可用物理內(nèi)存的限制。舉例來說,如果NTDS.dit是2GB,基于LSASS處理的活動(dòng),你也許希望LSASS.exe的工作集大小是3-4GB。
這個(gè)認(rèn)證活動(dòng)包括LDAP查詢,全天都不一樣。我觀察到的是重啟后LSASS.exe內(nèi)存用量的銳減,最終其變得平緩。和用量需求波動(dòng)一樣,內(nèi)存集會(huì)達(dá)到平衡并通過其它服務(wù)和進(jìn)程返回使用的內(nèi)存。如果內(nèi)存使用繼續(xù)隨時(shí)間波動(dòng),可能是因?yàn)閮?nèi)存泄漏。
確定性能問題是否與LSASS相關(guān)
每個(gè)人都會(huì)部的問題是“我如何知道LSASS 何時(shí)使用了過多的內(nèi)存或CPU?”答案是,根據(jù)情況變化。從KB 308356和其它文章中我們了解,LSASS.exe會(huì)運(yùn)用什么內(nèi)存和CPU。TechNet上的微軟博客提供了一個(gè)好方法來確定多少內(nèi)存算太多。本質(zhì)上,文章主旨是你需要建立基準(zhǔn),然后從該基準(zhǔn)觀察差異。
運(yùn)用性能監(jiān)控器(PerfMon),我一般通過為進(jìn)程對(duì)象和LSASS實(shí)例設(shè)置一個(gè)計(jì)數(shù)器來完成。我設(shè)置工作集和工作集峰值,當(dāng)然,加入CPU利用率的百分?jǐn)?shù)來測(cè)量CPU性能也很重要。我一般建立至少48小時(shí)的基準(zhǔn)并設(shè)置收集至少1000個(gè)樣例的間隔。如果你想你還可以做更多。
在缺少基準(zhǔn)時(shí),微軟博客建議,將調(diào)查的CPU利用率保持或重復(fù)在80%或以上。周期性的下降不是問題,這也是預(yù)期的。再者,使用PerfMon分析計(jì)數(shù)器之前計(jì)下的數(shù)可以確定其中是否有問題。
注意:如果你不是PerfMon專家,考慮使用第三方工具“日志性能分析器”(PAL)。它可免費(fèi)下載,且使用簡(jiǎn)便。只要確定使用的是叫做活動(dòng)目錄的“臨界值文件”。它會(huì)為你做基礎(chǔ)分析,在收集的計(jì)數(shù)上顯示警告和錯(cuò)誤的臨界值。
正如之前所說的,除了認(rèn)證請(qǐng)求,LDAP查詢由LSASS.exe處理,并且能消耗額外的資源。在分析LDAP查詢時(shí),不僅要考慮查詢的次數(shù)和頻率,還要考慮它們的來源和效率。我曾經(jīng)看過文章說高效的LADP查詢應(yīng)該返回不少于10%的“命中率”。也就是說,如果你發(fā)起一次LDAP查詢,它搜索到1000個(gè)活動(dòng)目錄對(duì)象,它應(yīng)該返回100個(gè)成功的命中對(duì)象。效率低的LDAP查詢可以快速使用大多資源并在DC上創(chuàng)建即時(shí)的障礙。
整理LSASS相關(guān)問題
大體來講,解析LSASS性能問題的方法包括:
通過收集用戶模式內(nèi)存抽取來識(shí)別LSASS.exe進(jìn)程使用的來源并分析問題來源來解析它。
識(shí)別來源和過度及低效LDAP搜索的起因。
通過為DC添加更多域控制器或遷移到64位大型內(nèi)存平臺(tái)來向活動(dòng)目錄環(huán)境添加更大馬力。
【編輯推薦】