硬體考量事項

儲存空間

為了達到最佳效能的讀寫傳輸量,而不需要過早的水準擴充,MongoDB通常需要SSD儲存裝置或效能相當於SSD的儲存裝置。

RAM

使用MMAP儲存引擎的MongoDB 2.6和3.0版需要資料庫的工作集及其索引符合RAM。

RAM不足會導致效能大幅降低。 工作集和資料庫的大小與應用程式高度相關。 雖然可以做出一些估計,但最可靠的判斷所需RAM數量方法是建置AEM應用程式並進行負載測試。

為了協助負載測試過程,可以假設工作集與資料庫總大小的比率如下:

  • SSD儲存為1:10
  • 硬碟儲存空間為1:3

這些比率表示SSD部署需要200 GB的RAM才能使用2 TB的資料庫。

雖然相同的限制適用於MongoDB 3.0中的WiredTiger儲存引擎,但工作集、RAM和頁面錯誤之間的關聯性並不強。 WiredTiger的記憶體對應方式與MMAP儲存引擎不同。

注意
對於使用MongoDB 3.0的AEM 6.1部署,Adobe建議使用WiredTiger儲存引擎。

資料存放區

由於MongoDB工作集限制,建議獨立於MongoDB維護資料存放區。 在大多數環境中,應該使用使用可用於所有AEM執行個體的NAS的FileDataStore。 若是使用Amazon Web Services的情況,也會有S3 DataStore。 如果由於任何原因,資料存放區是在MongoDB中維護,資料存放區的大小應新增到資料庫總大小,並且工作集計算應適當調整。 這種大小調整可能意味著提供更多RAM來維持效能,而不會造成頁面錯誤。

監控

監視是成功實作專案的重要條件。 在充分瞭解的情況下,您可以在MongoDB上執行AEM而不進行監視。 不過,這些知識通常是由專長於部署每個區段的工程師所掌握。

這些專門知識通常涉及使用Apache Oak Core的研發工程師和MongoDB專家。

若未在所有層級進行監視,則需要程式碼庫的詳細知識才能診斷問題。 監控功能就緒且針對主要統計資料提供適當指引,實作團隊即可對異常狀況做出適當反應。

雖然可以使用命令列工具來取得叢集操作的快速快照,但要在許多主機上即時執行此作業幾乎是不可能的。 命令列工具很少會在幾分鐘後提供歷史資訊,也絕不允許不同型別量度之間的交叉關聯。 短期的慢速背景mongod同步處理需要大量手動操作,以針對I/O等待或來自顯然未連線之虛擬機器器的共用儲存資源過度寫入層級建立關聯。

MongoDB Cloud Manager

MongoDB Cloud Manager是MongoDB提供的免費服務,可監控和管理MongoDB執行個體。 它可即時檢視MongoDB叢集的效能和健康狀況。 它同時管理雲端和私人主控的執行個體,前提是執行個體可以連線Cloud Manager監控伺服器。

它需要在MongoDB執行個體上安裝代理程式,以連線至監控伺服器。 代理程式有三個層級:

  • 自動化代理程式,可完全自動化MongoDB伺服器上的所有專案,
  • 可監視mongod執行個體的監視代理程式,
  • 備份代理程式,可執行資料的排程備份。

雖然使用Cloud Manager來自動維護MongoDB叢集可讓許多例行工作變得更輕鬆,但這並非必要,而且也不會將其用於備份。 選擇Cloud Manager進行監視時,仍需要監視。

如需MongoDB Cloud Manager的詳細資訊,請參閱MongoDB檔案