天天看點

最佳實踐—如何選擇執行個體規格

節點規格類型

系列 規格碼 CPU和記憶體 最大存儲 最大連接配接數 最大IOPS 特點
通用 polarx.x4.medium.2e 2核8G 3072GB 20000 4000 定位入門級,用于測試、體驗和極小負載的場景。
polarx.x4.large.2e 4核16G 7000 CPU和MEM配比為1:4,複用計算資源享受規模紅利,成本效益高。
polarx.x4.xlarge.2e 8核32G 12000
polarx.x4.2xlarge.2e 16核64G 14000
獨享 polarx.x8.large.2e 4核32G 9000 CPU和MEM配比為1:8,獨占配置設定到的計算資源(如CPU),性能表現更加穩定。
polarx.x8.xlarge.2e 8核64G 18000
polarx.x8.2xlarge.2e 16核128G 36000
polarx.x8.4xlarge.2e 32核128G
32核256G 72000
獨占 polarx.st.8xlarge.25 60核470G 6144GB 120000 獨占實體機規格,可以有更好的資源使用保障。
polarx.st.12xlarge.25 90核720G 140000

執行個體規格=節點數×節點規格 (計算節點+存儲節點)

舉例如下:

polarx.x8.xlarge.2e獨享規格,節點數為2個,性能資料如下:存儲6TB (3072GB×2)、連接配接數40000 (20000×2)、最大IOPS 36000 (18000×2)。

按照存儲容量選擇

按照業務的存儲空間估算邏輯:

  1. 業務的資料存儲會随着時間而持續增加,可以預估1~2年内的業務增長量,判斷需要的最大存儲空間。
  2. PolarDB-X的資料存儲分為:資料空間、系統檔案空間、日志空間等,比較建議單節點的存儲使用量保持在70%以下。

示例:

目前業務的存儲空間為1500GB,每天新增約10GB,按照1年的業務預估來看,總計約5150GB的存儲。按照使用量70%來計算,預估需要5150GB / 0.7 = 7357GB的存儲空間訴求,如果按照獨享規格polarx.x8.xlarge.2e (節點存儲上限3TB),最後判斷需要CEILING(7357GB/3072GB) = CEILING(2.39) = 3個節點。

按照并發量選擇

按照業務的并發量的估算邏輯:

  1. PolarDB-X的節點規格資源限制,包含CPU、MEM、連接配接數、IOPS等。在面向事務型場景下,一般比較常見是CPU瓶頸為主,可通過業務的QPS預期進行估算和推導。
  2. 按照常見的sysbench/TPC-C的偏交易混合讀寫場景,單core估算可支援的QPS為1000~3000,按照獨享規格polarx.x8.xlarge.2e單節點預估可支援1~2萬的QPS。

    說明 業務的流量模型和通用benchmark會有比較多的差異,單節點的QPS僅供估算參考,比較建議基于業務流量進行實際壓測。

  3. 正常的峰值流量,PolarDB-X建議單節點的資源使用量保持在70%以下。

目前業務的QPS峰值預估為10萬QPS,預留70%的資源餘量,預計需要支援14萬QPS的資源,按照PolarDB-X單節點支援2萬的能力來估算,預估需要7個節點。

按照多元度組合選擇

目前業務的QPS峰值預估為10萬QPS,目前業務的存儲空間為1500GB,每天新增約10GB,按照1年的業務預估來看,總計約5150GB的存儲。

建議的選擇邏輯:

  1. 分布式資料庫由多個節點組成,會有類似的木桶效應,比如突發流量導緻個别節點達到資源瓶頸,會導緻整體執行個體出現部分慢SQL的現象。是以,節點規格推薦獨享型,建議生産環境8核64G起步,預設存儲空間有3072GB(3TB)。
  2. 分别按照存儲容量和并發量分别估算需要的節點數和CPU規格,比如例子中需要CPU 56核、存儲7357GB,可以按照最小覆寫原則進行計算。存儲空間最小需要3個節點覆寫,PolarDB-X提供了存儲包的按量付費模式,存儲需要的節點數可以作為下限,上限可以選擇CPU核數的最小覆寫,可以選擇7個節點的8核64G或4個節點的16核128G。
  3. 業務流量如果包含報表分析的場景,因涉及更多資料計算的代價,建議選擇4個節點的16核128G,優先大節點規格,提高木桶邊的上限。另外的場景下,建議選擇7個節點的8核64G,更多的節點數可以支撐更大的存儲空間,未來執行個體規格的升配也優先建議升配單個節點規格。