在 VMware 上禁用 Server 2003 Wonderware App Server 頁面文件
關於您是否應該弄亂頁面文件有很多執行緒。此場景描述了我的生產環境中真實世界的獨特情況。為了解決我的問題,我得出的結論是禁用頁面文件。
我正在執行一系列來賓虛擬機,所有這些虛擬機都是 Server 2003 Enterprise Edition(inorite?)。對於我的物理主機,我執行的是裝有 VMware ESXi 5.0(通過 vCenter 管理)的 HP DL380 G7。對於儲存,我有一個 HP P2000 G3 SAS 陣列,在 RAID 6 中載入了 16 300 GB 10k SAS 驅動器,稱之為 LUN01。這些虛擬伺服器由一個 SQL 伺服器和 Historian、兩個應用程序伺服器和兩個終端伺服器組成了我們的 Wonderware 環境。
該堆棧執行的工作是關鍵任務,並確定該設施是否可以發揮其功能。(即伺服器宕機,業務宕機) 最近,P2000 陣列中的幾次磁碟故障讓我從頭開始重新思考架構。重建陣列中的磁碟嚴重損害了性能,以至於 Wonderware 應用程序完全沒有響應。由於這些虛擬機都執行 I/O 密集型應用程序,因此 RAID 重建對 RAID 提出瞭如此高的要求。
我已經確定磁碟重建期間的瓶頸是由於應用程序伺服器磁碟寫入而發生的。似乎是因為它使用系統頁面文件而不是 RAM。因此,網路 I/O 的數量直接與磁碟 I/O 相關聯。因此,重建過程中對磁碟的嚴重性能影響直接影響 APP 伺服器 I/O。以這種方式設計的原因幾乎沒有什麼意義,但它完美地解釋了為什麼本地不儲存任何內容的伺服器(應用程序伺服器)會維持 10Mbps 的磁碟寫入速率(應用程序伺服器 VM 的 vmware 性能統計資訊)。
所以……我的想法是考慮到我想禁用來賓作業系統(伺服器 2003 EE)中的頁面文件以防止部署的 Wonderware 應用程序引擎創建如此高的磁碟 I/O 需求……並且作為結果減少了 RAID 中未來磁碟重建的影響。
- 你怎麼看?
- 這是否證明禁用頁面文件是合理的?
- 我是否忽略了另一種解決方案,以盡量減少 RAID 重建對性能的影響?
我能夠通過 Wonderware 的大量電話時間來解決這個問題。基本上,在部署到 Galaxy 的每個 App Engine 內部都有一個可配置的參數,稱為“檢查點週期”。
Checkpoint Period 是 Archestra 將應用程序的目前狀態(值、變數等)寫入磁碟之間的時間段。這樣做是為了在伺服器重新啟動或系統崩潰的情況下,應用程序可以從其最近的狀態恢復,而不會失去數據。如果您的應用程序旨在將值儲存在星係對象本身中,您必須權衡您可以容忍多少數據失去。如果您的應用程序設計為僅處理數據,並將儲存資訊的工作解除安裝到 SQL 伺服器或將值保留在標記數據庫中,那麼您不會因增加此值而失去任何數據。
ArchestrA 目前有大約 9000 個標籤。這意味著在任何兩秒之間,9000 個值可能會發生變化,從而導致 9000 個值寫入磁碟……每秒。這些值中的大多數會覆蓋前一秒儲存的值。旨在監控模擬輸入的系統每秒鐘都會有大量的變化。作為管理員,您必須確定其中有多少是噪音以及需要擷取多少數據以進行趨勢/跟踪等……
將預設值 0 毫秒(系統將其解釋為“未指定預設值,使用 1 秒”)增加到 5000 毫秒會使我的磁碟活動從超過 300 次 IOP 降低到低於 25 次 IOP。實際上,我們將每個 App Engine 與接近 5000 毫秒的質數錯開,以便每個引擎的檢查點週期會向磁碟發出獨立的 I/O 活動請求。這對於控制系統的虛擬化尤其重要。當您在同一個陣列上執行許多伺服器時,性能和可擴展性就成為一個問題。
我不知道 Wonderware,但是如果您使用的是頁面文件,那麼您的記憶體不足,並且使用虛擬記憶體進行的一切都會變得更慢 - 禁用頁面文件不一定能解決這個問題,它很可能只是讓一切執行記憶體不足並崩潰。
- 為主機購買更多 RAM,或在來賓中配置更多 RAM。
2)或者配置應用程序使用更少的記憶體。
或者更有用的是,執行類似PSInternals 的 ProcMon來查看來賓中實際寫入磁碟的內容,並確認您的懷疑。
如果您可以在 Windows Server 2008 R2 上執行類似配置的測試伺服器,則任務管理器會比 2003 更詳細地顯示磁碟訪問(程序、文件、響應時間),而無需程序監視器的巨大日誌文件。
以這種方式設計的原因幾乎沒有什麼意義,但它完美地解釋了為什麼本地不儲存任何內容的伺服器(應用程序伺服器)會維持 10Mbps 的磁碟寫入速率(應用程序伺服器 VM 的 vmware 性能統計資訊)。
應用程序日誌文件?臨時文件,例如報告或渲染模板及其輸出?所有通過應用程序的事務日誌?兩個應用伺服器之間的狀態同步?流氓防病毒掃描程序?損壞的文件系統過濾器驅動程序?惡意軟體?