我在一個開放源代碼廚師服務器上有42個節點,它的性能很好,但我在引導具有複雜運行列表/角色分配的節點超過4次時遇到問題。
該環境由 的 - 20麒麟/ nginx的節點(高度複雜的設置) - 2 redis的節點(簡單設置) - 3 MySQL的節點(介質複雜的設置) - 15 mongodb的節點(介質複雜的設置) - 2個nginx節點(簡單設置)
下面是我的獨角獸/ nginx節點的樣子。我會打電話給一個非常複雜的設置。 - 使用數據庫,加密數據包,git repos和模板創建5個獨角獸和nginx端點。 - 創建的NodeJS端點 - 創建Linux 10位用戶使用databags和加密databags - 設置日誌旋轉 - 設置配置文件基於MySQL的蒙戈和Redis的服務器在我的生態系統 - 創建NFS掛載腳本備份到NFS掛載 - 和20或其他基本系統管理員類型任務
我環境中的所有節點都以標準的1800秒間隔簽入到Chef服務器。降低此間隔會增加服務器上的負載。如果您跨越的時間間隔小於所有節點或您的節點完成其廚師客戶端運行所花費的時間,則您的性能問題會雪上加霜。
我一次引導多個複雜的新節點時遇到了瓶頸問題,因爲幾乎每一個配方都必須執行,例如調用遠程回購,設置目錄權限,服務重新啓動,chkconfig更新,寫出配置文件等。
當要求廚師服務器使用Chef搜索功能查找符合特定條件的主機時,我遇到了廚師客戶端運行時的性能瓶頸。例如,搜索數據庫(mysql,redis等))主節點,以便獲得該盒的FQDN或IP,以便Chef可以繼續進行數據庫從屬設置。我通過減少搜索次數來解決這些問題,並通過標籤搜索Chef標籤。
請考慮詢問: 「多少分鐘是可接受的刀引導程序? 「多少分鐘是可接受的廚師客戶端運行?」 「什麼是我最複雜的廚師食譜/運行列表?」以幫助指導您的性能分析
這就像詢問一個Puppet服務器可以處理多少個節點 - 這關乎*您如何使用它。多少搜索負載,多少數據。沒有一個規範的答案。 – 2015-03-05 00:40:22