適用於 MySQL 的 Azure 資料庫 - 彈性伺服器中的儲存體 IOPS
記憶體系統可執行的讀取和寫入作業數目是以每秒輸入/輸出作業 (IOPS) 來測量。 較高的 IOPS 值表示更好的記憶體效能,這可讓您的資料庫處理更多同時讀取和寫入作業。 結果是更快速地擷取數據並提升整體效率。
如果 IOPS 設定太低,資料庫伺服器可能會在處理要求時遇到延遲,導致效能變慢且輸送量降低。 如果 IOPS 設定太高,可能會導致不必要的資源配置,而且可能會增加成本,而不會大幅改善效能。
選擇 IOPS 管理設定
適用於 MySQL 的 Azure 資料庫 - 彈性伺服器目前提供兩個 IOPS 管理設定:預先布建的 IOPS 和自動調整 IOPS。
預先佈建的 IOPS
您可以使用預先布建的 IOPS,將特定數目的 IOPS 配置給 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器實例。 定義記憶體磁碟區的特定 IOPS 限制可確保每秒處理特定數目的要求。 此設定有助於確保工作負載的一致且可預測的效能。
預先布建的 IOPS 也為與伺服器相關聯的記憶體磁碟區提供增加布建 IOPS 的彈性。 您可以隨時新增超過預設布建層級的額外 IOPS 來自定義效能,以更符合您的工作負載需求。
自動調整 IOPS (Autoscale IOPS)
自動調整 IOPS 可提供彈性來隨選調整 IOPS。 當您啟用自動調整 IOPS 時,您的伺服器會根據工作負載的需求自動調整資料庫伺服器的 IOPS 限制。 這種動態調整可協助將工作負載效能優化,而不需要手動介入或設定。 如需每個服務層級和計算大小所支援的最大 IOPS 詳細資訊,請參閱 服務層級檔。
自動調整 IOPS 的其他優點包括:
處理工作負載尖峰:自動調整 IOPS 可讓資料庫順暢地處理工作負載尖峰或波動,而不會影響應用程式的效能。 這項功能有助於確保一致的回應性,即使在尖峰使用期間也一致。
節省成本:不同於預先布建的 IOPS,不論使用方式為何,您指定並支付固定 IOPS 限制的費用,自動調整 IOPS 可讓您只支付您取用的 I/O 作業數目。 您可以避免不必要的布建和使用量過低的資源費用。 結果是節省成本與最佳效能,讓自動調整成為有效率地管理資料庫工作負載的明智選擇。
監視儲存體效能
您可以使用 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器可用的計量來監視記憶體 IOPS 使用率。
取得所選時段的 I/O 使用率概觀
- 在 Azure 入口網站 中,移至您的 適用於 MySQL 的 Azure 資料庫 彈性伺服器。
- 在 [概 觀] 窗格中,選取 [ 監視] 索引卷標。
- 在 [ 顯示最後 一個區域的數據] 中,選取時間週期。
檢視增強計量的活頁簿
- 在 Azure 入口網站 中,移至您的 適用於 MySQL 的 Azure 資料庫 彈性伺服器。
- 移至 [監視>活頁簿]。
- 選取 [增強的計量] 活頁簿。
- 在活頁簿的 [ 概觀 ] 索引標籤上,檢查記憶體 IO 百分比 計量。
新增記憶體 I/O 百分比和計數的計量
- 在 Azure 入口網站 中,移至您的 適用於 MySQL 的 Azure 資料庫 彈性伺服器。
- 移至 [監視>計量]。
- 選取 [新增計量]。
- 在可用計量的下拉式清單中,選取 [記憶體 IO 百分比] 和 [記憶體 IO 計數]。
選取最佳 IOPS 設定
既然您已瞭解如何有效地監視 IOPS 使用量,您就已準備好探索伺服器的最佳設定。 當您選擇 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器實例的 IOPS 設定時,請考慮下列因素。 了解這些因素可協助您做出明智的決策,以確保工作負載的最佳效能和成本效益。
效能最佳化
透過自動調整 IOPS,您可以滿足工作負載的一致性和可預測性需求,而不需要面對記憶體節流和手動互動的缺點,以新增更多 IOPS。
如果您的工作負載具有一致的輸送量或需要一致的 IOPS,則預先布建的 IOPS 可能比較好。 它提供可預測的效能等級,且 IOPS 的固定配置會與指定限制內的工作負載相互關聯。
如果您需要高於一般需求的輸送量,您可以使用預先布建的 IOPS 來配置額外的 IOPS。 此選項需要手動互動,並瞭解輸送量增加時間。
節流衝擊
請考慮節流對工作負載造成的影響。 如果因為節流而導致潛在的效能降低是值得關注的問題,自動調整 IOPS 可以動態處理工作負載尖峰,以將節流的風險降到最低,並協助維持最佳層級的效能。
最後,自動調整和預先布建的 IOPS 之間的決策取決於您的特定工作負載需求和效能預期。 分析工作負載模式、評估成本影響,並考慮節流的潛在影響,以做出符合您優先順序的選擇。
工作負載考量 | 預先佈建的 IOPS | 自動調整 IOPS |
---|---|---|
具有一致且可預測 I/O 模式的工作負載 | 建議使用,因為它只使用布建的 IOPS | 相容,不需要手動佈建 IOPS |
具有不同使用模式的工作負載 | 不建議使用,因為它可能無法在高使用量期間提供有效率的效能。 | 建議使用,因為它會自動調整以處理不同的工作負載 |
具有動態成長或變更效能需求的工作負載 | 不建議使用,因為它需要變更 IOPS 需求的常數調整 | 建議使用,因為特定輸送量需求不需要額外的設定 |
成本考量
如果您有具有無法預測尖峰的變動工作負載,則選擇自動調整 IOPS 可能會更具成本效益。 它可確保您只需支付尖峰期間使用的較高 IOPS 費用,提供彈性和節省成本。 雖然預先布建的 IOPS 提供一致且最大的 IOPS,但視工作負載而定,可能會產生較高的成本。 請考慮伺服器所需的成本和效能之間的取捨。
測試和評估
如果您不確定最佳 IOPS 設定,請考慮使用自動調整 IOPS 和預先布建的 IOPS 來執行效能測試。 評估結果,並判斷哪個設定符合您的工作負載需求和效能預期。
範例工作負載:電子商務網站
假設您擁有一個電子商務網站,該網站會全年發生流量波動。 在一般期間,工作負載為中度。 但在假日季節或特殊促銷期間,交通會以指數方式激增。
透過自動調整 IOPS,您的資料庫可以動態調整其 IOPS,以處理尖峰期間增加的工作負載。 當流量暴增時,例如在黑色星期五銷售期間,自動調整功能可讓您的資料庫順暢地相應增加 IOPS 以符合需求。 這項功能有助於確保順暢且不間斷的效能,並有助於防止速度變慢或服務中斷。 在尖峰期間之後,當流量消退時,IOPS 可以相應減少。 然後節省成本,因為您只需支付在激增期間使用的資源。
如果您選擇預先布建的 IOPS,則必須估計工作負載容量上限,並據以配置固定數目的 IOPS。 不過,在尖峰期間,工作負載可能會超過預先決定的 IOPS 限制。 然後,記憶體 I/O 可能會進行節流,影響效能,並可能導致使用者的延遲或逾時。
範例工作負載:報告和數據分析的平臺
假設您使用 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器進行數據分析,其中使用者會提交複雜的查詢和大規模的數據處理工作。 這個工作負載模式相當一致,一整天的查詢流程穩定。
使用預先布建的 IOPS,您可以根據預期的工作負載選取適當的 IOPS 數目。 只要選擇的 IOPS 能適當地處理每日查詢量,就不會有節流或效能降低的風險。 此方法提供成本可預測性,並可讓您有效率地優化資源,而不需要動態調整。
在此情況下,自動調整功能可能無法提供顯著優勢。 因為工作負載是一致的,因此您可以使用固定數目的 IOPS 布建資料庫,以輕鬆滿足需求。 自動調整可能不需要,因為沒有需要額外 IOPS 的突然活動高載。
藉由使用預先布建的 IOPS,您就具有可預測的效能,而不需要調整。 成本會直接系結至配置的記憶體。
常見問題集
如何? 從預先布建的 IOPS 移至自動調整 IOPS?
- 在 Azure 入口網站 中,尋找相關的 適用於 MySQL 的 Azure 資料庫 彈性伺服器。
- 移至 [ 設定] 窗格,然後選取 [ 計算 + 記憶體]。
- 在 [IOPS] 區段中,選取 [自動調整 IOPS],然後儲存設定以套用修改。
自動調整 IOPS 在進行變更後多久才會生效?
為 適用於 MySQL 的 Azure 資料庫 彈性伺服器啟用自動調整 IOPS 並儲存設定之後,變更會在部署至資源成功完成之後立即生效。 自動調整 IOPS 功能會套用至您的資料庫,而不會有任何延遲。
時間點還原作業如何影響 IOPS 使用量?
在 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器的時間點還原期間,會建立新的伺服器,並將數據從來源伺服器的記憶體複製到新伺服器的記憶體。 此程序會導致來源伺服器上的 IOPS 使用量增加。
IOPS 使用量增加是正常發生的,而且不會指出來源伺服器或 PITR 作業發生任何問題。 在 PITR 作業完成之後,來源伺服器上的 IOPS 使用量會回到其一般層級。
如需 PITR 的詳細資訊,請參閱 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器中的備份和還原。
如何? 知道當伺服器使用自動調整 IOPS 功能時,IOPS 已相應增加和相應減少? 我可以監視伺服器的 IOPS 使用量嗎?
請參閱本文稍早的監視記憶體效能一節。 它可協助您識別您的伺服器是否在特定時間範圍內相應增加或相應減少。
我可以稍後在自動調整 IOPS 和預先布建的 IOPS 之間切換嗎?
是。 您可以在 [設定] 窗格的 [計算 + 記憶體] 區段中選取它,以回到預先布建的 IOPS。
如何? 知道我在 適用於 MySQL 的 Azure 資料庫 - 彈性伺服器中使用的 IOPS 數目?
移至 [概觀] 區段中的 [監視],或移至 [監視] 窗格上的 [儲存體 IO 計數] 計量。 記憶體 IO 計數計量會提供伺服器在所選時間範圍內所使用的 IOPS 總和。