ข้ามไปที่เนื้อหา

การประมาณความจุของทรัพยากรการประมวลผล

ในหัวข้อนี้ คุณจะได้เรียนรู้วิธีประมาณความจุของทรัพยากรการประมวลผล และทำให้มีการขายมากเกินไปหรือป้องกันได้

หากคุณวางแผนที่จะเริ่มโฮสต์ด้วย 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

คำแนะนำทั่วไป

ขั้นตอนด้านล่างจะช่วยคุณประเมินความจุและประสิทธิภาพของทรัพยากรการประมวลผลสำหรับสถานการณ์ทางธุรกิจใดๆ

หากต้องการประมาณความจุและประสิทธิภาพของทรัพยากรคอมพิวเตอร์:

  1. เริ่มสร้างเซิร์ฟเวอร์เพื่อให้ถึง 200% ของความจุ CPU ตัวอย่างเช่น หากทรัพยากรการประมวลผลของคุณมี 12 vCPU คอร์ ให้สร้างเซิร์ฟเวอร์ 12 เซิร์ฟเวอร์ที่มี 2 vCPU

  2. สร้างโหลด CPU สำหรับเซิร์ฟเวอร์ครึ่งหนึ่งที่คุณสร้างในระหว่างขั้นตอนก่อนหน้า ในตัวอย่างของเรา สำหรับเซิร์ฟเวอร์ 6 เครื่อง

  3. สร้างเซิร์ฟเวอร์ต่อไป ในเวลาเดียวกัน ให้ตรวจสอบการใช้งาน CPU และประสิทธิภาพของเซิร์ฟเวอร์

    การสร้างเซิร์ฟเวอร์ใหม่ต้องใช้ CPU และทรัพยากรการประมวลผลควรจะสามารถจัดการได้โดยไม่ส่งผลกระทบต่อเซิร์ฟเวอร์

    Note

    เมื่อคุณตรวจสอบ RAM ให้ตรวจสอบ `/var/log/syslog` หรือ `/var/log/messages` เพื่อดูรายงานใดๆ จาก OOM killer
    
  4. หากประสิทธิภาพเป็นที่น่าพอใจ ให้กลับไปที่ขั้นตอนที่ 1 และทำซ้ำโดยจำกัดความจุไว้ที่ 400%

  5. ทำซ้ำขั้นตอนที่ 2 และ 3

  6. เมื่อถึงจุดหนึ่ง การสร้างเซิร์ฟเวอร์ใหม่จะเริ่มส่งผลต่อเซิร์ฟเวอร์ที่มีอยู่ หมายความว่าคุณพบความจุของทรัพยากรคอมพิวเตอร์ของคุณแล้ว

Note

ในกรณีส่วนใหญ่ ความจุของ CPU มีความสำคัญมากกว่า RAM โดยปกติแล้ว คุณสามารถเพิ่ม RAM ได้ แต่คุณไม่สามารถทำเช่นเดียวกันกับ CPU ได้