適用於 MySQL 的 Azure 資料庫 - 彈性伺服器效能功能

已完成

您可以根據三個服務層級的其中一個來建立適用於 MySQL 的 Azure 資料庫彈性伺服器:高載、一般用途和業務關鍵性。 服務層級會提供增加的計算和儲存體大小層級,以及支援的連線數目上限和每秒 I/O 作業數 (IOPS)。 一個 MySQL 彈性伺服器可以裝載數個資料庫。 您可以監視 MySQL 彈性伺服器的效能計量,例如 CPU 和記憶體使用量、I/O 效能、查詢計量等等,以做出明智的容量決策。

計算大小:RAM 和核心

這三個服務層級每個都提供不同的基礎 VM SKU。 高載層使用 B 系列 VM、一般用途層使用 D 系列 VM,而業務關鍵層則使用 E 系列 VM。 使用的 VM 系列會決定伺服器上可用的虛擬核心和 RAM 數目。

您可以在建立伺服器之後變更計算層、計算大小和儲存體大小。 變更計算層或計算大小需要重新啟動,這通常需要一到兩分鐘才能完成。 變更儲存體大小不需要重新啟動。

針對非生產環境 (開發、預備、測試等) 工作負載,請考慮使用以高載層為基礎的伺服器,這會為不會持續使用完整 CPU 的工作負載提供符合成本效益的解決方案。 在低使用量期間,使用 B 系列 VM 的伺服器會累積 CPU 額度,可在高使用量期間使用,以在基準之上「高載」效能。 如果您的基準太高,或使用量高載太多,請考慮升級至一般用途或業務關鍵層,以避免效能降低。

服務層級計算大小

這三個服務層級每個都提供不同等級的計算能力。 雖然高載層最多可支援 20 個虛擬核心,而一般用途層最多可支援 64 個虛擬核心,業務關鍵層支援最多 96 個虛擬核心,可提供最高等級的計算能力。 業務關鍵層也提供 Ev5 系列 VM,比 Ev4 系列 VM 多出高達 30% 的 QPS 和降低 50% 的延遲

IOPS:預先佈建與自動調整

每秒可執行的讀取和寫入作業數目稱為儲存體 IOPS (每秒 I/O 作業)。 較高的 IOPS 設定可提供更佳的儲存體效能:更多的同時讀取/寫入作業可加快資料擷取、資料持續性、索引更新,以及整體資料庫效率。 如果 IOPS 設定太低,資料庫可能會遇到處理延遲和效能降低的情況。 不過,如果 IOPS 設定太高,則您的成本可能會增加,而不會實現任何效能改善。

有了適用於 MySQL 的 Azure 資料庫 – 彈性伺服器,您可以預先佈建 IOPS 或使用自動調整 IOPS 功能。

  • 使用預先佈建的 IOPS,您可以配置特定數目的 IOPS 來提供一致且可預測的效能,如果負載未接近 I/O 作業進行節流處理的閾值,則表示運作情況良好。 雖然您一律可以在工作負載需求增加時配置額外的 IOPS,但這需要手動介入。

  • 啟用自動調整 IOPS 功能後,您的 IOPS 會根據工作負載活動依需求進行調整,並根據使用量付費。 隨著工作負載的增加,伺服器會順暢地調整 I/O 效能,讓您的執行個體處理工作負載尖峰,而不需要在流量較低時支付未使用的容量。

不論是哪一種情況,IOPS 都不能超過伺服器的最大值。 如需依計算大小的最大 IOPS 相關資訊,請參閱計算和儲存體文件一文。

讀取複本

當資料庫的流量增加時,您可以水平調整其容量或「擴增」(計算節點數目),或垂直或「擴大」(計算節點的大小)。 讀取複本可提供水平調整。

讀取複本是使用 MySQL 二進位記錄複寫 (binlog) 保持同步的資料庫唯讀複本。 隨著應用程式成長,他們需要調整計算和儲存體資源 (例如資料庫)。 使用 Azure Kubernetes Service (AKS)、虛擬機器擴展集和 App Service 佈建新的 VM,可簡化應用程式元件調整。 當這些計算資源調整和儲存的資料成長時,它們會增加資料庫的負擔,這通常最終會成為應用程式架構的瓶頸。

使用讀取複本可讓您將唯讀作業轉移至次要資料庫,讓主要伺服器支援讀取/寫入作業。 適用於 MySQL 的 Azure 資料庫提供受控讀取複本。 您可以將來源伺服器複寫到最多 10 個複本。 這可在報告和分析等使用案例中提供協助,這些案例通常會查詢大量資料。

當基於某個原因或另一個查詢無法使用索引時,使用讀取複本特別有用。 新增所有查詢模式的索引可能不切實際,甚至會造成干擾,因為它會對伺服器造成額外的負載 (處理、磁碟 I/O、儲存、交易時間等)。 如果資料倉儲無法使用,或您需要比其重新整理週期更新的資料,則使用讀取複本是執行「大型」查詢的絕佳方式,而不會中斷重要的讀取/寫入作業。

讀取複本不會以與高可用性設定相同的方式立即同步。 讀取複本不會導入與 HA 解決方案相關聯的交易延遲,但當資料從主資料庫到達複本時,可能會有輕微的延遲。