การประมาณความจุของทรัพยากรการประมวลผล¶
ในหัวข้อนี้ คุณจะได้เรียนรู้วิธีประมาณความจุของทรัพยากรการประมวลผล และทำให้มีการขายมากเกินไปหรือป้องกันได้
หากคุณวางแผนที่จะเริ่มโฮสต์ด้วย SolusVM 2 คุณจะต้องประมาณจำนวนเซิร์ฟเวอร์เสมือน (หรือเพียงแค่ "เซิร์ฟเวอร์" นับจากนี้เป็นต้นไป) ที่สามารถสร้างได้บนทรัพยากรการประมวลผลเดียว เราเรียกมันว่าการประมาณความจุของทรัพยากรการประมวลผล
ไม่สามารถให้ตัวเลขที่แน่นอนได้เนื่องจากตัวเลขเหล่านี้ขึ้นอยู่กับปัจจัยต่างๆ เช่น สถานการณ์ทางธุรกิจ ฮาร์ดแวร์ ศูนย์ข้อมูล และอื่นๆ อย่างไรก็ตาม เราสามารถแบ่งปันค่าประมาณบางอย่างตามประสบการณ์ของเราได้
เราจะครอบคลุมสถานการณ์ทางธุรกิจทั่วไปสองสถานการณ์ และยังให้คำแนะนำทั่วไป เกี่ยวกับการประมาณความจุของทรัพยากรการประมวลผลสำหรับสถานการณ์ทางธุรกิจใดๆ
สถานการณ์ทางธุรกิจโหลด CPU บางส่วน¶
เราถือว่าเซิร์ฟเวอร์ทั้งหมดมีทรัพยากรที่จัดสรรไว้มากมาย แต่ไม่ใช่ทุกเซิร์ฟเวอร์ที่ใช้ทรัพยากรที่มีอยู่ทั้งหมดตลอดเวลา
สถานการณ์จำลองและการประเมินกำลังการผลิตขึ้นอยู่กับสถานที่ต่อไปนี้:
-
ความจุของ CPU สามารถสูงถึง 900% ของค่าเริ่มต้น
ตัวอย่างเช่น หากทรัพยากรการประมวลผลของคุณมีคอร์ลอจิคัล CPU 12 คอร์ จำนวนเซิร์ฟเวอร์สูงสุด 2vCPU ที่คุณสามารถสร้างได้จะเป็นดังนี้:
12 (จำนวน vCPU บนทรัพยากรการประมวลผล) × 9 (ความจุ 900%) / 2 (vCPU ต่อเซิร์ฟเวอร์) = 54 เซิร์ฟเวอร์
-
ความจุ RAM สามารถสูงถึง 300% ของค่าเริ่มต้น
-
ทรัพยากรการประมวลผลจะถือว่ามีโอเวอร์โหลดเมื่อโหลดเฉลี่ยถึง 85% ของความจุสูงสุด
ตัวอย่างเช่น หากทรัพยากรการประมวลผลของคุณมีคอร์ลอจิคัล CPU 12 คอร์ คุณสามารถสร้างเซิร์ฟเวอร์ 2vCPU จำนวนต่อไปนี้ โดยคำนึงถึงขีดจำกัดโอเวอร์โหลดของ CPU:
12 (จำนวน vCPU บนทรัพยากรการประมวลผล) * 9 (ความจุ 900%) * 0.85 (ค่าเฉลี่ยโหลดสูงสุด) / 2 (vCPU ต่อเซิร์ฟเวอร์) = 45 เซิร์ฟเวอร์
-
ทรัพยากรการประมวลผลจะถือว่ามีการใช้งานมากเกินไปเมื่อ RAM ถึง 90% ของความจุสูงสุด
-
ทรัพยากรการประมวลผลประกอบด้วยเซิร์ฟเวอร์ที่มีข้อกำหนดเดียวกัน (เช่น แต่ละเซิร์ฟเวอร์มี 2 CPU และ 2 GiB RAM)
-
การประมาณค่านี้ถูกต้องสำหรับประเภทหน่วยเก็บข้อมูล qcow2 หากคุณใช้ที่เก็บข้อมูลประเภทอื่น การประมาณค่าอาจแตกต่างกัน
Note
เราไม่พูดถึง I/O ของดิสก์เนื่องจากขึ้นอยู่กับสภาพแวดล้อม (ได้แก่ ประเภท HDD/SSD และความเร็ว)
สำหรับการประมาณค่า เราใช้ทรัพยากรคอมพิวเตอร์ที่มีข้อกำหนดต่อไปนี้:
- CPU: AMD Ryzen 5 3600 Hexa-Core (12 vCPU คอร์)
- แรม: 64GiB
ในตารางด้านล่าง คุณสามารถดูจำนวนเซิร์ฟเวอร์ที่มีข้อกำหนดเฉพาะที่แตกต่างกันที่คุณสามารถสร้างจากทรัพยากรการประมวลผลได้
Note
เซิร์ฟเวอร์มีการโหลดเป็นประจำ
ข้อมูลจำเพาะของเซิร์ฟเวอร์ | จำนวนเซิร์ฟเวอร์ที่สร้างขึ้นในแง่ของ CPU | จำนวนเซิร์ฟเวอร์ที่สร้างขึ้นในแง่ของ RAM | บันทึก |
ซีพียู 1 ตัว + แรม 1 GiB | มากถึง 91 เซิร์ฟเวอร์ | มากถึง 91 เซิร์ฟเวอร์ | คุณสามารถจัดสรร RAM ได้มากขึ้น แต่คุณไม่สามารถสร้างเซิร์ฟเวอร์เพิ่มได้เนื่องจากขีดจำกัดของ CPU |
ซีพียู 2 ตัว + แรม 2 GiB | มากถึง 45 เซิร์ฟเวอร์ | มากถึง 45 เซิร์ฟเวอร์ | คุณสามารถจัดสรร RAM ได้มากขึ้น แต่คุณไม่สามารถสร้างเซิร์ฟเวอร์เพิ่มได้เนื่องจากขีดจำกัดของ CPU |
ซีพียู 2 ตัว + แรม 4 GiB | มากถึง 43 เซิร์ฟเวอร์ | มากถึง 43 เซิร์ฟเวอร์ | คุณสามารถจัดสรร CPU ได้มากขึ้น แต่คุณไม่สามารถสร้างเซิร์ฟเวอร์เพิ่มเติมได้เนื่องจากขีดจำกัดของ CPU |
ซีพียู 4 ตัว + แรม 4 GiB | มากถึง 22 เซิร์ฟเวอร์ | มากถึง 22 เซิร์ฟเวอร์ | คุณสามารถจัดสรร CPU ได้มากขึ้น แต่คุณไม่สามารถสร้างเซิร์ฟเวอร์เพิ่มเติมได้เนื่องจากขีดจำกัดของ CPU |
Note
ตรวจสอบให้แน่ใจว่าผลรวมของพื้นที่สว็อปและพื้นที่หน่วยความจำมากกว่าหรือเท่ากับ หน่วยความจำทั้งหมดที่กำหนดค่าไว้สำหรับผู้เยี่ยมชมที่ทำงานอยู่
สถานการณ์ทางธุรกิจโหลด CPU เต็มรูปแบบ¶
เราถือว่าสภาพแวดล้อมนั้นถูกใช้งานอย่างหนักเกือบตลอดเวลา ตัวอย่างเช่น นี่คือสภาพแวดล้อมการพัฒนาซึ่งมีการใช้งานอยู่เสมอ
สถานการณ์จำลองและการประเมินกำลังการผลิตขึ้นอยู่กับสถานที่ต่อไปนี้:
-
ความจุของ CPU สามารถสูงถึง 150% ของค่าเริ่มต้น ตัวอย่างเช่น หากทรัพยากรการประมวลผลของคุณมีคอร์ลอจิคัล CPU 12 คอร์ จำนวนเซิร์ฟเวอร์สูงสุด 2vCPU ที่คุณสามารถสร้างได้จะเป็นดังนี้:
12 (จำนวน vCPU บนทรัพยากรการประมวลผล) × 1.5 (ความจุ 150%) / 2 (vCPU ต่อเซิร์ฟเวอร์) = 9 เซิร์ฟเวอร์
-
ความจุ RAM สามารถสูงถึง 150% ของค่าเริ่มต้น
-
ทรัพยากรการประมวลผลจะถือว่ามีโอเวอร์โหลดเมื่อโหลดเฉลี่ยถึง 85% ของความจุสูงสุด
ตัวอย่างเช่น หากทรัพยากรการประมวลผลของคุณมีคอร์ลอจิคัล CPU 12 คอร์ คุณสามารถสร้างเซิร์ฟเวอร์ 2vCPU จำนวนต่อไปนี้ โดยคำนึงถึงขีดจำกัดโอเวอร์โหลดของ CPU:
12 (จำนวน vCPU บนทรัพยากรการประมวลผล) * 1.5 (ความจุ 150%) * 0.85 (ค่าเฉลี่ยโหลดสูงสุด) / 2 (vCPU ต่อเซิร์ฟเวอร์) = 7 เซิร์ฟเวอร์
-
ทรัพยากรการประมวลผลจะถือว่ามีการใช้งานมากเกินไปเมื่อ RAM ถึง 90% ของความจุสูงสุด
-
ทรัพยากรการประมวลผลประกอบด้วยเซิร์ฟเวอร์ที่มีข้อกำหนดเดียวกัน (เช่น แต่ละเซิร์ฟเวอร์มี 2 CPU และ 2 GiB RAM)
-
การประมาณค่านี้ถูกต้องสำหรับประเภทหน่วยเก็บข้อมูล qcow2 หากคุณใช้ที่เก็บข้อมูลประเภทอื่น การประมาณค่าอาจแตกต่างกัน
Note
เราไม่พูดถึง I/O ของดิสก์เนื่องจากขึ้นอยู่กับสภาพแวดล้อม (ได้แก่ ประเภท HDD/SSD และความเร็ว)
สำหรับการประมาณค่า เราใช้ทรัพยากรคอมพิวเตอร์ที่มีข้อกำหนดต่อไปนี้:
- CPU: AMD Ryzen 5 3600 Hexa-Core (12 vCPU คอร์)
- แรม: 64GiB
ในตารางด้านล่าง คุณสามารถดูจำนวนเซิร์ฟเวอร์ที่มีข้อกำหนดเฉพาะที่แตกต่างกันที่คุณสามารถสร้างจากทรัพยากรการประมวลผลได้
Note
เซิร์ฟเวอร์มีการโหลดเป็นประจำ
ข้อมูลจำเพาะของเซิร์ฟเวอร์ | จำนวนเซิร์ฟเวอร์ที่สร้างขึ้นในแง่ของ CPU | จำนวนเซิร์ฟเวอร์ที่สร้างขึ้นในแง่ของ RAM | บันทึก |
ซีพียู 1 ตัว + แรม 1 GiB | มากถึง 15 เซิร์ฟเวอร์ | มากถึง 15 เซิร์ฟเวอร์ | คุณสามารถจัดสรร RAM ได้มากขึ้น แต่คุณไม่สามารถสร้างเซิร์ฟเวอร์เพิ่มได้เนื่องจากขีดจำกัดของ CPU |
ซีพียู 2 ตัว + แรม 2 GiB | มากถึง 7 เซิร์ฟเวอร์ | มากถึง 7 เซิร์ฟเวอร์ | คุณสามารถจัดสรร RAM ได้มากขึ้น แต่คุณไม่สามารถสร้างเซิร์ฟเวอร์เพิ่มได้เนื่องจากขีดจำกัดของ CPU |
ซีพียู 2 ตัว + แรม 4 GiB | มากถึง 7 เซิร์ฟเวอร์ | มากถึง 7 เซิร์ฟเวอร์ | คุณสามารถจัดสรร CPU ได้มากขึ้น แต่คุณไม่สามารถสร้างเซิร์ฟเวอร์เพิ่มเติมได้เนื่องจากขีดจำกัดของ CPU |
ซีพียู 4 ตัว + แรม 4 GiB | มากถึง 3 เซิร์ฟเวอร์ | มากถึง 3 เซิร์ฟเวอร์ | คุณสามารถจัดสรร CPU ได้มากขึ้น แต่คุณไม่สามารถสร้างเซิร์ฟเวอร์เพิ่มเติมได้เนื่องจากขีดจำกัดของ CPU |
คำแนะนำทั่วไป¶
ขั้นตอนด้านล่างจะช่วยคุณประเมินความจุและประสิทธิภาพของทรัพยากรการประมวลผลสำหรับสถานการณ์ทางธุรกิจใดๆ
หากต้องการประมาณความจุและประสิทธิภาพของทรัพยากรคอมพิวเตอร์:
-
เริ่มสร้างเซิร์ฟเวอร์เพื่อให้ถึง 200% ของความจุ CPU ตัวอย่างเช่น หากทรัพยากรการประมวลผลของคุณมี 12 vCPU คอร์ ให้สร้างเซิร์ฟเวอร์ 12 เซิร์ฟเวอร์ที่มี 2 vCPU
-
สร้างโหลด CPU สำหรับเซิร์ฟเวอร์ครึ่งหนึ่งที่คุณสร้างในระหว่างขั้นตอนก่อนหน้า ในตัวอย่างของเรา สำหรับเซิร์ฟเวอร์ 6 เครื่อง
-
สร้างเซิร์ฟเวอร์ต่อไป ในเวลาเดียวกัน ให้ตรวจสอบการใช้งาน CPU และประสิทธิภาพของเซิร์ฟเวอร์
การสร้างเซิร์ฟเวอร์ใหม่ต้องใช้ CPU และทรัพยากรการประมวลผลควรจะสามารถจัดการได้โดยไม่ส่งผลกระทบต่อเซิร์ฟเวอร์
Note
เมื่อคุณตรวจสอบ RAM ให้ตรวจสอบ `/var/log/syslog` หรือ `/var/log/messages` เพื่อดูรายงานใดๆ จาก OOM killer
-
หากประสิทธิภาพเป็นที่น่าพอใจ ให้กลับไปที่ขั้นตอนที่ 1 และทำซ้ำโดยจำกัดความจุไว้ที่ 400%
-
ทำซ้ำขั้นตอนที่ 2 และ 3
-
เมื่อถึงจุดหนึ่ง การสร้างเซิร์ฟเวอร์ใหม่จะเริ่มส่งผลต่อเซิร์ฟเวอร์ที่มีอยู่ หมายความว่าคุณพบความจุของทรัพยากรคอมพิวเตอร์ของคุณแล้ว
Note
ในกรณีส่วนใหญ่ ความจุของ CPU มีความสำคัญมากกว่า RAM โดยปกติแล้ว คุณสามารถเพิ่ม RAM ได้ แต่คุณไม่สามารถทำเช่นเดียวกันกับ CPU ได้