โครงสร้างพื้นฐาน OFFSHORE ส่วนตัว
คลาวด์และ VPSใช้งานจริง · 6 นาทีในการอ่าน

กำหนดขนาด VPS CPU และหน่วยความจำจากภาระงานจริง

สร้างงบประมาณหน่วยความจำ ตรวจสอบการแย่งชิงทรัพยากร และแยกเธรดที่繁忙หนึ่งตัวออกจากงานที่ใช้คอร์เสมือนหลายตัวได้

โดย SwissOctet Editorial
คำตอบตรงประเด็น

เลือกหน่วยความจำสำหรับระบบปฏิบัติการ บริการที่ทำงานต่อเนื่อง และการทำงานพร้อมกันจริงโดยมีพื้นที่เหลือ เลือก CPU หลังจากวัดว่างานใดทำงานหนัก งานเหล่านั้นทำงานขนานกันหรือไม่ และผู้ใช้ประสบความล่าช้าอะไรจริง

01

อธิบายงานปกติและงานหนักแยกจากกัน

จำนวนผู้เข้าชมเพียงอย่างเดียวเป็นข้อมูลตั้งต้นที่อ่อนสำหรับการกำหนดขนาด คำขอหนึ่งอาจให้บริการไฟล์แคช ขณะที่อีกคำขอสร้างรายงานหรือคิวรีหลายตาราง ให้ระบุเว็บเวิร์กเกอร์ ฐานข้อมูล แคช ผู้บริโภคคิว และงานบำรุงรักษาที่จะใช้ VPS ร่วมกัน อธิบายการทำงานพร้อมกันตามปกติและการดำเนินการที่คาดว่าจะยุ่งที่สุด รวมถึงการส่งออกตามกำหนด การอัปเดตแพ็กเกจ และการดีพลอย แทนที่จะมองว่าเป็นกิจกรรมเบื้องหลังที่มองไม่เห็น

สำหรับโปรเจกต์ที่มีอยู่แล้ว ให้รวบรวมช่วงเวลาที่เป็นตัวแทนซึ่งรวมช่วงเวลาที่ยุ่ง บันทึกเวลาตอบสนองและข้อผิดพลาดควบคู่กับการใช้ทรัพยากร สำหรับโปรเจกต์ใหม่ ให้สร้างการทดสอบเล็กๆ ด้วยรูปแบบคำขอและขนาดข้อมูลที่สมจริง การประเมินเริ่มต้นของคุณจะไม่สมบูรณ์แบบ เป้าหมายที่มีประโยชน์คือจุดเริ่มต้นที่บันทึกไว้ซึ่งคุณสามารถเปรียบเทียบกับพฤติกรรมที่วัดได้หลังการส่งมอบ

02

สร้างงบประมาณหน่วยความจำก่อนเพิ่มกระบวนการ

ความต้องการหน่วยความจำมาจากระบบ บริการแอปพลิเคชันที่ทำงานต่อเนื่อง การใช้งานต่อเวิร์กเกอร์ และการดำเนินการชั่วคราว การคูณขนาดหน่วยความจำของเวิร์กเกอร์ด้วยจำนวนการทำงานพร้อมกันที่วางแผนไว้เป็นเครื่องมือวางแผนแบบคร่าวๆ ไม่ใช่การรับประกัน เพราะหน่วยความจำที่ใช้ร่วมกันและแคชทำให้ยอดรวมซับซ้อน ให้สังเกตกระบวนการจริงภายใต้โหลด เว้นที่ว่างพอที่งานบำรุงรักษาจะไม่บังคับให้แอปพลิเคชันแย่งทุกหน้าหน่วยความจำที่เหลือ

การตั้งค่าฐานข้อมูลสามารถเพิ่มการใช้หน่วยความจำได้อย่างไม่คาดคิด PostgreSQL ระบุว่า work_mem มีผลกับการดำเนินการคิวรี และการดำเนินการหรือเซสชันหลายรายการสามารถทำงานพร้อมกันได้ ดังนั้นการตั้งค่าที่ดูพอเหมาะเมื่อมองแยกเดี่ยวอาจมีผลต่อระบบโดยรวมมากกว่า ให้อ่านคำแนะนำของฐานข้อมูลเอง ทดสอบการทำงานพร้อมกันที่สมจริง และหลีกเลี่ยงการจัดสรรทุกกิกะไบต์ที่โฆษณาไว้ให้แคชเดียว

03

แยกการใช้ CPU ออกจากความขนานที่มีประโยชน์

จำนวนโปรเซสเซอร์บอกคุณว่ามีทรัพยากรการประมวลผลจำนวนเท่าใดที่นำเสนอต่อเกสต์ ไม่ได้บอกว่าซอฟต์แวร์ของคุณใช้ทรัพยากรเหล่านั้นได้อย่างมีประสิทธิภาพเพียงใด เธรดที่ทำงานหนักหนึ่งเธรดอาจจำกัดแอปพลิเคชันในขณะที่คอร์อื่นยังว่าง การเพิ่มเวิร์กเกอร์ช่วยคำขอที่เป็นอิสระได้ แต่ก็อาจเพิ่มการแย่งชิงฐานข้อมูลและความต้องการหน่วยความจำได้เช่นกัน ตรวจสอบรูปแบบการทำงานพร้อมกันของแอปพลิเคชันก่อนสันนิษฐานว่าจำนวนคอร์สองเท่าจะให้ปริมาณงานสองเท่า

KVM ให้บริการเครื่องเสมือนที่มีฮาร์ดแวร์เสมือนของตนเอง ไม่ได้เปลี่ยนป้าย vCPU ทุกป้ายให้เป็นผลการวัดมาตรฐานที่เหมือนกันในทุกโฮสต์และทุกเจเนอเรชันโปรเซสเซอร์ ให้เปรียบเทียบรุ่น CPU ที่ระบุไว้และเงื่อนไขการจัดสรรเมื่อมีข้อมูล แล้วประเมินบริการด้วยปริมาณงานของคุณเอง หลีกเลี่ยงการสรุปเพื่อการซื้อจากคะแนนสังเคราะห์ระยะสั้นที่ไม่คล้ายกับแอปพลิเคชัน

04

มองหาความกดดันและการรอ ไม่ใช่แค่ค่าเฉลี่ย

ระบบอาจรู้สึกช้าโดยที่ค่าเปอร์เซ็นต์ CPU เฉลี่ยไม่สูง กระบวนการอาจรอที่พื้นที่จัดเก็บ การคืนหน่วยความจำ หรือบริการอื่น ข้อมูล Pressure Stall Information ของเคอร์เนล Linux เปิดเผยข้อมูลการหยุดชะงักของ CPU หน่วยความจำ และ I/O บนระบบที่รองรับ สัญญาณเหล่านี้อาจช่วยระบุการแย่งชิงทรัพยากรควบคู่กับตัวชี้วัดการใช้งานปกติและเวลาของแอปพลิเคชัน

อ่านตัวชี้วัดร่วมกัน แรงกดดันหน่วยความจำต่อเนื่อง การสลับหน่วยความจำ การจัดสรรล้มเหลว และคำขอที่ช้า ชี้ไปที่การแก้ไขที่แตกต่างจากการมีเวิร์กเกอร์ประมวลผลที่ทำงานหนักเพียงตัวเดียว การรอพื้นที่จัดเก็บอาจสมเหตุสมผลต่อการเปลี่ยนคิวรีหรือโปรไฟล์ดิสก์ที่ต่างออกไป ความล่าช้าจาก API ภายนอกจะไม่ได้รับการแก้ไขด้วยการเพิ่ม RAM ภายใน ให้อธิบายข้อจำกัดที่สังเกตได้ก่อนเลือกว่าจะเพิ่มทรัพยากรใด

พฤติกรรมที่สังเกตได้คำถามที่ต้องตรวจสอบขั้นตอนถัดไปที่เป็นไปได้
เธรดหนึ่งทำงานหนัก คอร์ที่ว่างยังเงียบงานนี้ทำงานขนานกันได้หรือไม่ปรับปรุงงานหรือเปลี่ยนการออกแบบเวิร์กเกอร์
แรงกดดันหน่วยความจำระหว่างสร้างรายงานมีการดำเนินการทับซ้อนกันกี่รายการจำกัดการทำงานพร้อมกันหรือเพิ่มพื้นที่เหลือที่ทดสอบแล้ว
คำขอช้าพร้อมการรอ I/Oการอ่านหรือเขียนใดล่าช้าตรวจสอบคิวรีและพฤติกรรมพื้นที่จัดเก็บ
CPU และหน่วยความจำต่ำ คำขอช้ามี dependency ใดทำให้การตอบสนองล่าช้าหรือไม่วัดการเรียกไปยังปลายทาง
05

ตัวอย่างการวางแผนพร้อมสมมติฐานที่ชัดเจน

ลองจินตนาการถึงแอปพลิเคชันเล็กๆ ที่มีเว็บเวิร์กเกอร์สองตัว ฐานข้อมูลหนึ่งตัว และผู้บริโภคคิวหนึ่งตัว ทีมวัดบริการเหล่านั้นระหว่างคำขอปกติและงานสร้างรายงาน พบว่าการอนุญาตให้สร้างรายงานสี่รายการพร้อมกันเพิ่มความต้องการหน่วยความจำอย่างรวดเร็วพร้อมกับทำให้ทราฟฟิกปกติล่าช้า แทนที่จะซื้อแผนใหญ่ที่สุดทันที ทีมจำกัดการทำงานพร้อมกันของรายงานและวัดผลอีกครั้ง

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

06

เว้นเส้นทางที่ชัดเจนสำหรับการวัดครั้งถัดไป

กำหนดสัญญาณที่จะกระตุ้นให้ทบทวน: เวลาตอบสนองเสื่อมลง แรงกดดันหน่วยความจำเกิดซ้ำ คิวเพิ่มขึ้น หรือปริมาณงานเปลี่ยนไป ให้การตรวจสอบเบาพอที่จะไม่กลายเป็นคอขวดใหม่ ประเมินใหม่หลังจากเพิ่มฟีเจอร์หรือชุดข้อมูลขนาดใหญ่ และหลีกเลี่ยงการอัปเกรดซ้ำเมื่อปัญหาจริงคือกระบวนการที่ไม่จำกัดหรือคิวรีที่ช้า

ตระกูล VPS ของ SwissOctet เปิดเผยข้อมูลจำเพาะของ CPU และหน่วยความจำ รวมถึงตัวเลือกทรัพยากรที่เลือก อ่านการกำหนดค่าขั้นสุดท้ายหลังจากเพิ่มส่วนเสริม รวมถึงรอบบิลและยอดรวม ยืนยันเงื่อนไขการอัปเกรดกับผู้ให้บริการจริงก่อนพึ่งพาเงื่อนไขเหล่านั้น ขนาด VPS ที่มีประโยชน์คือขนาดที่รันปริมาณงานที่วัดได้โดยมีพื้นที่เหลือที่สมเหตุสมผลและมีขั้นตอนถัดไปที่เข้าใจได้

เปลี่ยนเป็น行動

รายการตรวจสอบปฏิบัติของคุณ

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

รายละเอียดที่สำคัญ

ควรกำหนดขนาด VPS จากจำนวนผู้เข้าชมต่อเดือนหรือไม่+

ใช้จำนวนผู้เข้าชมเป็นบริบท แล้ววัดความซับซ้อนของคำขอ การทำงานพร้อมกัน ขนาดข้อมูล และงานเบื้องหลัง จำนวนผู้เข้าชมที่เท่ากันอาจสร้างโหลดที่แตกต่างกัน

RAM ที่มากขึ้นทำให้บริการเร็วขึ้นเสมอหรือไม่+

ไม่ใช่ ช่วยเมื่อหน่วยความจำเป็นข้อจำกัดหรือเปิดใช้แคชที่มีประโยชน์ แต่ไม่ได้แก้ความล่าช้าจาก CPU พื้นที่จัดเก็บ หรือ dependency ภายนอกทั้งหมด

จำนวน vCPU สองเท่าทำให้ประสิทธิภาพสองเท่าหรือไม่+

ไม่ใช่ การทำงานขนาน ลักษณะของโปรเซสเซอร์ การแย่งชิง และการออกแบบแอปพลิเคชันเป็นตัวกำหนดว่าความจุเพิ่มเติมมีประโยชน์มากเพียงใด

แหล่งอ้างอิงหลัก

ไปที่ต้นทาง

แหล่งอ้างอิงเหล่านี้สนับสนุนแนวคิดทางเทคนิคในคู่มือนี้ ปฏิบัติตามเอกสารปัจจุบันก่อนเปลี่ยนระบบโปรดักชัน

  1. เคอร์เนล Linux: Pressure Stall Information docs.kernel.org
  2. PostgreSQL: การใช้ทรัพยากร www.postgresql.org
  3. โครงการ KVM: Kernel Virtual Machine www.linux-kvm.org

คำแนะนำด้านบรรณาธิการโดย SwissOctet ตัวอย่างมีไว้เพื่อประกอบ ข้อมูลจำเพาะของบริการ ตัวเลือกที่มี และเงื่อนไขตามสัญญาต้องได้รับการตรวจสอบแยกต่างหาก

เชื่อมโยงความรู้

โครงสร้างพื้นฐานที่เกี่ยวข้อง

รักษาสายไว้

บันทึกภาคสนามถัดไปของคุณ

สำรวจทุกคู่มือ
บันทึกภาคสนาม / 01
คลาวด์และ VPSพื้นฐาน

วิธีเลือก VPS โดยไม่เดา

เปลี่ยนไอเดียแอปพลิเคชันเป็นงบประมาณทรัพยากรที่มีประโยชน์ แล้วเปรียบเทียบ CPU, หน่วยความจำ, พื้นที่จัดเก็บ และการรับส่งข้อมูลร่วมกัน

อ่าน 4 นาทีอ่านคู่มือ
บันทึกภาคสนาม / 02
เฉพาะเครื่องและ GPUพื้นฐาน

VPS หรือเฉพาะ: เลือกขอบเขตที่เหมาะสม

ทำความเข้าใจว่าเครื่องจริงเปลี่ยนอะไร ไม่เปลี่ยนอะไร และเมื่อใดจึงเป็นขั้นตอนที่มีประโยชน์สำหรับภาระงานของคุณ

อ่าน 4 นาทีอ่านคู่มือ
บันทึกภาคสนาม / 03
ที่จัดเก็บและกู้คืนพื้นฐาน

เมื่อ NVMe สร้างความแตกต่างให้แอปพลิเคชันของคุณ

แยกแยะความจุ ความหน่วง และปริมาณงาน เพื่อให้ป้ายพื้นที่จัดเก็บที่เร็วกว่าตอบปัญหาจริงของแอปพลิเคชัน

อ่าน 4 นาทีอ่านคู่มือ