成功部署設計的其中一個關鍵就是找出潛在的效能瓶頸,以及開發避免瓶頸的策略。當存取的資料速率無法符合指定的系統需求時,效能瓶頸就會發生。
瓶頸可分為不同的硬體類別,如以下系統中資料存取點表格所示。此表也會建議每個硬體類別中瓶頸的潛在解決方法。
表 5–7 資料存取點
硬體類別 |
相對的存取速度 |
效能改善功能的解決方法 |
---|---|---|
處理器 |
十億分之一秒 |
垂直調整:增加更多處理能力,改善處理器快取能力 水平調整:增加平行的處理能力以進行負載平衡 |
系統記憶體 (RAM) |
一百萬分之一秒 |
將系統記憶體指定給特定的作業 垂直調整:增加額外的記憶體 水平調整:建立額外的實例,以進行平行處理和負載平衡 |
磁碟讀取和寫入 |
毫秒 |
使用磁碟陣列 (RAID) 使磁碟存取最佳化 將磁碟存取指定給特定功能,例如唯讀或唯寫 快取系統記憶體中經常存取的資料 |
網路介面 |
因網路上的頻寬和節點的存取速度而異 |
增加頻寬 傳輸安全資料時,增加加速卡硬體 改善網路中節點的效能,使得能夠輕鬆隨時使用資料 |
找出效能瓶頸列出依據相對存取速度的硬體類別,暗指慢速存取點 (像是磁碟) 是瓶頸所在的可能性更高。不過,無法處理大量負載的處理器也可能是造成瓶頸的原因。
一般而言,部署設計通常是從部署中每個元件及其相依性的基準處理能力估計開始。然後,您再判定如何避免與系統記憶體和磁碟存取相關的瓶頸。最後,檢查網路介面以判定潛在的瓶頸,再將焦點放在可以解決瓶頸的策略上。
部署設計的關鍵元件是對於時常存取的資料集 (如 LDAP 目錄) 的磁碟存取速度。磁碟存取提供最慢的資料存取,可能是造成效能瓶頸的原因。
最佳化磁碟存取的方法就是將寫入作業和讀取作業分開。不單是因為寫入作業比讀取作業費時,而且讀取作業 (查詢 LDAP 目錄的作業) 發生的機率通常也比寫入作業 (更新 LDAP 目錄中的資料) 來得大。
另一個最佳化磁碟存取的方法是將磁碟指定給不同的 I/O 作業。例如,為 Directory Server 記錄作業 (像是作業事件記錄和事件記錄) 及 LDAP 讀取和寫入作業提供獨立的磁碟存取。
此外,考慮實作一或多個 Directory Server 實例專用於讀取和寫入作業,並使用分配到本機伺服器的複製實例進行讀取和搜尋存取。也可以使用鏈接和連結選項來最佳化目錄服務的存取。
「Sun Java System Directory Server 5 2005Q1 Deployment Plannning Guide」第 6 章「Defining System Characteristics」中討論了磁碟存取規劃的各種因素。本章的主題包括:
最低記憶體與磁碟空間需求。提供各種大小目錄所需磁碟和記憶體估計。
調整快取存取所需的實體記憶體大小。依據 Directory Server 的規劃使用提供快取大小估計指導及提供總記憶體使用規劃指導。
調整磁碟子系統大小。依據目錄字尾和影響磁碟使用的 Directory Server 因素來提供關於磁碟空間需求規劃的資訊,並提供關於將檔案分散至各磁碟 (包括各種磁碟陣列方案) 的資訊。