Azure In-Role 快取的容量規劃考慮
重要
Microsoft建議所有新的開發都使用 Azure Redis 快取。 如需選擇 Azure 快取供應專案的目前檔和指引,請參閱 哪個 Azure 快取供應項目適合我?
In-Role 快取所需的容量取決於數個因素,包括要放在快取中的數據量、快取的讀取和寫入頻率和數量,以及針對快取指定哪些選項,例如高可用性。 決定快取需求之後,即可設定快取拓撲。 布建快取叢集的拓撲取決於數個因素,包括虛擬機的大小、已部署的實例數目,以及角色是共用角色還是專用於快取。 本主題說明如何使用 容量規劃指南電子錶格 來判斷快取的必要容量,以及設定來布建快取叢集以符合需求的設定。
使用容量規劃指南電子表格
容量規劃指南電子錶格 是一個電子錶格,可從Microsoft下載中心下載,並包含兩個工作表,可用來協助容量規劃:專用角色 – Planner 和 Co-Located Role - Planner。 專用角色 – Planner 提供建立 專用角色 快取叢集的指引,Co-Located 角色 - Planner 提供建立 Co-Located 角色 快取叢集的指引。
快取叢集部署拓撲 | 描述 |
---|---|
專用角色快取 |
背景工作角色實例專用於快取。 |
共置角色快取 |
快取會與角色裝載的主要應用程式共用 VM 資源(頻寬、CPU 和記憶體)。 |
如果您的應用程式在其現有角色中有未使用記憶體,您可以在這些角色上設定共置角色快取叢集,並利用該額外的記憶體進行快取。 如果角色中沒有足夠的額外記憶體來支援快取叢集,您可以相應放大角色,或新增快取背景工作角色並設定專用角色快取叢集。 本指南可協助您判斷要用於符合應用程式快取需求的部署拓撲的設定。
下列各節說明如何使用這兩個工作表來規劃 專用角色 和 共置角色 快取。
專用角色 - Planner
共置角色 - Planner
專用角色 - Planner
專用角色 – Planner 工作表是 容量規劃指南電子錶格 的第一張工作表,可用來協助判斷 專用角色 快取叢集的設定。 專用角色快取叢集是背景工作角色實例專用於快取的叢集。
專用角色 – Planner 工作表接受數種類型的輸入。 第一個區段,輸入:數據需求,用來計算快取的數據大小上限。 針對最多十種數據類型,您可以輸入 平均物件大小(串行化后)、對象數目上限,以及 啟用高可用性。 在上一個範例中,有一個數據類型已建立模型。 平均大小為 2,560 個字節,快取中對象數目上限為 100,000 個。 未啟用高可用性。
第二個區段,輸入:輸送量需求,是用來計算快取的頻寬需求,並具有輸入 讀取數/秒 和 尖峰負載的寫入數/秒。 在此範例中,數據類型 1 的尖峰負載是每秒 10,000 次讀取,每秒寫入 500 次。
第三個區段,輸入:進階選項,提供數個額外的輸入設定。 尖峰負載的緩衝 - 數據 和 緩衝處理尖峰負載 - 輸送量 為應用程式負載的激增提供緩衝區。 這些設定提供方便的方式,可增加或減少快取中數據量和輸送量所需的緩衝區。
在 Azure 更新中保留資料 指出容量規劃工具電子錶格是否應該在升級網域中因更新而關閉角色時,包含額外的容量以進行滾動升級案例。 當 Azure 因為更新而關閉升級網域中的角色時,In-Role Cache 會在節點離線之前,嘗試將數據移至叢集中的其他節點。 如果其他節點中的容量不足,無法佔用額外的負載,則角色中的所有快取專案都可能不會傳輸到其他節點。 在容量規劃工具電子錶格中預設會將 [跨 Azure 更新保留數據] 設定為 [是]。 如果設定為 [否],則會減少角色的容量需求。 當 將 [跨 Azure 更新保留數據] 設定為 [是]時,本指南會保留相當於一個容量升級網域的額外容量。 如需升級網域的詳細資訊,請參閱 更新 Azure 服務的概觀。
注意
如果節點因為失敗而關閉,或因為設定變更而減少角色實例的數目,則快取數據不會移至其他節點。 In-Role 快取只會在規劃關機時將數據移至其他節點。 您可以啟用高可用性,在節點失敗時提供快取資料的備份複本。 如需詳細資訊,請參閱在 Azure In-Role 快取中
升級網域計數 是指裝載快取叢集之角色的升級網域數目。 您可以讓容量規劃工具電子表格為您的快取叢集建議升級網域計數,也可以自行指定。 默認設定為 planner設定。 選取 [依 planner 設定] 時,容量規劃電子錶格會在 [輸出: 可能的組態] 區段的 [升級網域] 數據行中提供建議。 當升級網域計數在 升級網域計數中手動指定時,指定的計數會顯示在 [輸出] 區段中。 如需升級網域的詳細資訊,請參閱 更新 Azure 服務的概觀。
設定輸入之後,此工具會在 [輸出:可能的組態 一節中提供建議。 在此範例中,建議的設定是 中 VM 大小,3 個 角色實例,以及 3的升級網域計數。 除了建議的組態之外,輸出:可能的組態 區段會顯示選擇其他其中一個 VM 大小時所需的設定。
如果快取中物件的平均大小小於 2k,則容量規劃工具指南會顯示 CacheDataSize (MB)* 數據行,以及 [輸出] 區段下方的附注。
注意
輸出 區段下顯示的連結會連結到您目前正在閱讀的容量規劃考慮主題。
如果顯示此訊息,請在名為 CacheSettings.xml 的角色專案中建立 XML 檔案,然後執行下列步驟,從 Output 區段新增包含 CacheDataSize (MB) 設定的 dataCache
區段。
在 [方案總管] 中,以滑鼠右鍵按兩下裝載快取叢集的角色專案,然後選擇 [新增],[新增專案]。 從 [範本] 窗格中選取 [XML 檔案],在 [名稱] 方塊中輸入 CacheSettings.xml,然後按兩下 [新增]。
複製下方的 XML 代碼段,並將它貼到 CacheSettings.xml 檔案中。
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="dataCache" type="Microsoft.ApplicationServer.Caching.DataCacheSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" /> </configSections> <dataCache size="Small"> <advancedProperties> <memoryPressureMonitor cacheUserDataSizePerNode="[CacheDataSize (MB) Setting]" /> </advancedProperties> </dataCache> </configuration>
將
[CacheDataSize (MB) Setting]
取代為對應至 VM 大小的 CacheDataSize (MB) 資料行中的設定。 在下列範例中,會使用2088
。<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="dataCache" type="Microsoft.ApplicationServer.Caching.DataCacheSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" /> </configSections> <dataCache size="Small"> <advancedProperties> <memoryPressureMonitor cacheUserDataSizePerNode="2088" /> </advancedProperties> </dataCache> </configuration>
重要
請勿修改此代碼段中的任何其他設定,例如
dataCache
size
屬性。dataCache
size
屬性未指定您用於快取叢集的 VM 角色大小,而且必須設定為Small
。此 CacheCluster.xml 檔案會連同您的應用程式一起部署,並包含必要的組態。
若要使用 專用角色 – Planner 工作表,請在符合快取需求的 輸入 區段中輸入值。 使用建議的建議建議作為設定快取叢集的起點。 若要設定專用角色快取,請將 快取背景工作角色 新增至專案,並設定快取叢集屬性。 如需設定專用角色快取叢集的範例,請參閱 如何:設定 Azure In-Role 快取的快取叢集。
共置角色 - Planner
共置角色 – Planner 工作表是 容量規劃指南電子錶格 的第二張工作表,可用來協助判斷 共置角色 快取叢集的設定。 共置角色快取叢集是角色實例的資源(記憶體、CPU 和頻寬)在快取與應用程式之間共用的叢集。
若要使用 [Co-Located 角色 – Planner] 工作表,請在 [輸入:叢集組態] 區段中輸入角色的組態。 在 VM 大小中,輸入裝載您角色的 VM 大小,並將角色實例數目輸入 VM 實例數目。 將所需的快取大小輸入
設定輸入之後,此工具會提供在現有角色實例上裝載所需快取叢集的可行性的建議,以及在角色屬性的 [快取] 索引標籤上,用於 快取大小 滑桿的設定。 這些位於 [輸出:可行性 & 設定 一節。 在此範例中,快取大小 (%) 設定會設定為 30%,而 OS 和其他處理所使用的其餘部分則為 。 如果所需的快取大小不適用於目前的角色設定,您可以變更 VM 大小、角色實例計數和快取大小來建立其他組態的模型,直到您找到符合應用程式需求的組態為止。
若要使用 共置角色 – Planner 工作表,請在符合快取需求的 輸入:叢集組態 區段中輸入值。 使用輸出區段中的建議作為判斷快取叢集組態的起點。
注意
共置快取可承受的負載是一旦考慮主要應用程式的頻寬和CPU耗用量,即可使用多少頻寬/cpu 來進行快取。 測試應該驗證快取和主要應用程式的效能。
一旦決定快取叢集組態,就可以在角色的屬性頁中設定快取叢集。 如需設定共置角色快取叢集的範例,請參閱 如何:設定 Azure In-Role 快取的快取叢集。