# Google GCP GCE 怎麼選擇 VM 配置 [TOC] ## CPU & 記憶體 ### 分類 #### 1. 一般用途 (性價比較高) ![](https://hackmd.io/_uploads/S1PvRPQvh.png) * Cost Optimized (成本最佳化) * 特點 * 成本低 * 比 N1 系列便宜 31% * 系列 * E2 * 適合情境 * Web Server * 企業內的軟體應用系統(Steady-State Line of Business Application) * 小或中型資料庫 * Balanced (均衡) * 特點 * 較客製化 * 支援較多功能 * 系列 * N2 * N2D * 適合情境 * Web Server * 企業系統 * 中型資料庫 * Scale-out Optimized (擴張最佳化) * 特點 * 性價比高 * 適合水平擴張 * 系列 * T2D * 適合情境 * Web Server * 容器化微服務 #### 2. 工作負載最佳化 ![](https://hackmd.io/_uploads/SkTDeOmDn.png) * Compute Optimized (運算最佳化) * 特點 * 核心運算能力最高 * 適合處理複雜的運算工作 * NUMA (Non-uniform memory access) * 系列 * C2 * C2D * 適合情境 * 科學運算 * 大型遊戲 * Memory Optimized (記憶體最佳化) * 特點 * 適合需要大量記憶體空間的運算工作 * 每 GB 記憶體的價格最低 * 系列 * M1 * M2 * 適合情境 * 大型記憶體資料庫 * Accelerator Optimized * 特點 * 最高 GPU 性能 * 適合 AI 和機器學習的運算工作 * 系列 * A2 * 適合情境 * 機器學習 ### 名稱拆解 * n2d-highcpu-64 * n2d 表示 CPU 是 N2D 系列 :::info 有 D 表示 CPU 是 AMD 平台 * N2 (Intel) * N2D (AMD) ::: * highcpu 表示 CPU 種類是運算最佳化 :::info CPU 種類名稱 & CPU 和記憶體的比例(大約) * standard (標準 1:4) * highcpu (運算最佳化 1:1) * highmem (記憶體最佳化 1:8) * megamem (記憶體最佳化 - 更高 1:15) * ultramem (記憶體最佳化 - 最高 1:30) ::: * 64 * vCPU (虛擬 CPU) 數量有 64 個 * m1-megamem-96 * m1 系列 * 記憶體最佳化 * 96 個 vCPU ### 選擇方式 * 不要選過高的性能,會浪費錢 * 需要多少的 CPU 和記憶體 * 有沒有 CPU 和記憶體是不需要的 * 使用建議配置 * VM 建好後在建議(Recommendation) 欄位會有調整配置的建議 ![](https://hackmd.io/_uploads/SyBq2u7P3.png) * 自訂配置 * 選完 CPU 系列後,機器類型選自訂(Custom) * 自訂 CPU 核心數量、記憶體大小 ![](https://hackmd.io/_uploads/ryeBTdXwh.png) ## DISK ### 磁碟類型 * [網路磁碟](https://cloud.google.com/compute/docs/disks/performance?hl=zh-cn#regional-persistent-disks_1) ![](https://hackmd.io/_uploads/ByJYQFmP3.png) * 透過網路連接 VM 和磁碟,延遲時間較長 * 分為四種類型 * 標準 HDD(最慢) * 平衡 SSD (一般) * 性能 SSD (更快) * 極端 SSD (最快) * 讀 (IOPS 15000~120000) * 寫 (IOPS 15000~120000) ::: info IOPS (Input/Output Operations Per Second) 磁碟每秒讀寫次數 ::: * 本地磁碟 (Local SSD) * 磁碟直接連接 VM,延遲較短且讀寫速度最快 * 使用 SSD * 只有 N1, N2, N2D, C2, C2D, M3 有支援 * 分為兩種介面 * SCSI * 讀 (IOPS 100000~900000) * 寫 (IOPS 70000~800000) * NVMe (性能最佳化) * 讀 (IOPS 170000~2400000) * 寫 (IOPS 90000~1200000) ### 選擇方式 * 磁碟空間 * 讀寫速度 * 選擇的 CPU 類型是否支援選擇的磁碟類型 * ex : E2 和 T2D 不支援 Local SSD ## 選擇範例 * requirement 1. 16 vCPU 2. 本地 SSD 3. 較低記憶體 ![](https://hackmd.io/_uploads/rJj8cKQwn.png) * 篩選步驟 1. Local SSD 只有 N1, N2, N2D, C2, C2D, M3 有支援 2. 找出符合 16 vCPU 的方案 3. Less Memory 所以選 highcpu (CPU:記憶體 = 1:1) 4. 剩下 N1, N2, N2D 5. 其他比較 (ex : 比價、額外功能...) * [比價 (USD)](https://cloud.google.com/compute/all-pricing?_ga=2.31543486.-1039018011.1677690330&_gac=1.20703818.1686495840.CjwKCAjw4ZWkBhA4EiwAVJXwqdXkXLjpTq9fLHVauAtMb7xbUeHFDSZsbTZjvTi_Tao0x41BTOSXwBoC82IQAvD_BwE&hl=zh-tw) * 一般 |類型|按時數計費|按月計費| |----|----|----| |N1|0.5672|289.84| |N2|0.5736|334.98| |N2D|0.4990|291.42| * [搶占式](https://cloud.google.com/compute/docs/instances/preemptible?hl=zh-cn) (較便宜,最多折 75%,但可用性較低) |類型|按時數計費|按月計費| |----|----|----| |N1|0.1200|87.60| |N2|0.1388|101.32| |N2D|0.1208|88.18| * [估價工具](https://cloud.google.com/products/calculator?hl=zh-tw) ## reference * https://www.youtube.com/watch?v=OJ7exygl87s&ab_channel=GoogleCloudTech * https://www.highercloud.com.tw/architect-gcp-gce?%2Farchitect-gcp-gce * https://hackmd.io/@xsggt/BJ2vVPEkv