無論是用來建立網站應用程式還是當作檔案伺服器,剛建置好的Windows Server 2012 R2系統運行速度與穩定性皆相當優越,但持續運行一段時間之後,卻會出現連線速度變慢、檔案開啟時間變長等問題,對此本文將提供診斷方法與優化的秘帖良方。
企業中任何新資訊系統的導入,在基礎架構的規劃上,除了需要做到高可靠度、高延展性以及高可用性之外(俗稱IT三高),還必須考量到運行效能層面的問題,當然這部分牽扯到的影響因素也相當多,包括主機硬體、作業系統、拓樸設計、網路規劃、儲存規劃、程式碼設計、附加元件等等。
然而,對Windows Server系統架構師來說,最重要的就是先把整個拓樸架構中的每一部伺服器,在最高安全的基礎上完成系統最佳化的校調作業。而更積極的作為則是,想盡一切辦法把Windows Server的系統效能發揮到極致。
如此一來,未來即便遭遇應用系統效能低落的問題,也能夠縮小需要徹底檢測的範圍。
根據筆者過去在Windows Server最佳化的校調經驗,整體而言可以將其區分為事前校調與事後校調。前者主要是讓系統人員先根據即將導入的應用系統類型,如所要採用的網站平台、資料庫系統、資料儲存方式等等,來決定所要準備的處理器規格、記憶體大小、網路設計、儲存架構以及相關軟體與系統服務的部署方式。
舉例來說,在多部Windows Server上部署Microsoft Exchange Server時的環境準備,相較於在相同的作業系統條件下部署IBM Domino Server,做法上就會有很明顯的不同。例如,在存放資料的磁碟陣列(RAID)規劃上,由於雙方無論是在資料庫的架構設計還是存取方式上都不一樣,為了提升資料讀寫上的效能,前者較適合採用RAID 5,而後者則是RAID 0+1。
接下來的內容將把整個系統校調的重點集中在Windows Server 2012 R2本身,詳解如何從基礎的監視開始,找出影響系統運行效能不佳的癥結,進而透過內建的管理工具以及原廠所提供的進階輔助工具,協助提升現行網域、網路、網站以及作業系統本身的運行效能。
TOP 1:如何從效能監視中找問題
圖1所示便是「效能」頁面資訊,在此可以先以整體使用率或邏輯處理方式檢視CPU的效能,一般建議採用後者的方式來檢視,因為這樣就可以知道每一個核心資源的負載情形。
根據經驗,若發現其中一個核心始終維持在100%的狀態下,通常原因會是某個裝置的驅動程式或韌體尚未更新,當然也可能是因為特定的Windows更新程式所造成,只要先移除並重新安裝,往往就能夠解決這個問題。
|
▲圖1 開啟「工作管理員」查看運作效能。 |
此外,若採用伺服器等級(或繪圖工作站)專用的Intel Xeon系列CPU,還可以進一步檢視「NUMA節點」的效能狀態。所謂的NUMA(Non-uniform Memory Access)即是非統一記憶體存取功能,此功能主要設計在多顆處理器的應用中,而記憶體的存取時間將依附在相對的處理位置,其優點在於能夠限制於特定的工作負載,尤其是針對某些資料的處理與所關聯的工作與使用者。
善用執行緒,對於在本地記憶體配置緩衝區分頁存取記憶體,會比從外部記憶體存取更有效率的特性,可大幅提升整體的處理效能。
舉例來說,SQL Server就是典型的應用,它不需要特殊的組態設定就可以在支援NUMA的硬體上順利執行,它會為每一個節點記錄多模式組態訊息及CPU遮罩,讓用戶端程式在連接時會繫結到其中一個NUMA節點,以處理此用戶端的所有批次要求,藉此提升SQL指令碼的執行速度。
除了CPU、記憶體狀態以及硬碟的讀寫效率會影響系統的運行效率外,網路流量的使用情形也是其中的關鍵因素,這是因為現今許多的應用程式設計,不再只是提供內部網路用戶的存取需求,而是擴展到必須服務大量的行動工作者,也因此在伺服器實體網路連接的規劃上,更會針對不同的來源網路流量(例如VPN、Wi-Fi、VLAN、iSCSI)進行分流監測與控管。