ไดเรกทอรีบทความ
VPS ของคุณโอเวอร์โหลดและกำลังจะพังใช่ไหม?
เริ่มต้นด้วยการกำหนดค่า 4GB แบบ 16 คอร์ บทความนี้จะวิเคราะห์รายละเอียดวิธีเลือกจำนวนคอร์ CPU และหน่วยความจำที่เหมาะสม และให้คำแนะนำที่ครอบคลุมในการเพิ่มประสิทธิภาพ VPS
ไม่ว่าจะเป็นการเพิ่มประสิทธิภาพฐานข้อมูล การปรับแอปพลิเคชัน PHP หรือการอัปเกรดฮาร์ดแวร์ เรามีคำแนะนำเฉพาะเพื่อช่วยคุณค้นหาโซลูชันที่ดีที่สุดเพื่อทำให้ VPS ของคุณทำงานเร็วขึ้นและเสถียรยิ่งขึ้น และบอกลาปัญหาคอขวดของประสิทธิภาพได้เลย!
ฉันหวังว่าสิ่งเหล่านี้จะช่วยคุณได้ เพื่อที่ VPS ของคุณจะไม่ยุ่งเหมือนแผงขายเคบับอีกต่อไป!
VPS มีการโหลดจำนวนมาก ควรอัปเกรด CPU และหน่วยความจำเป็นจำนวนเท่าใด

สมมติว่า CPU การกำหนดค่า VPS เป็น 4 คอร์ + หน่วยความจำ 16GB ให้ตรวจสอบ top สถานการณ์การโหลดเป็นเรื่องที่ร้ายแรง ควรใช้คอร์และหน่วยความจำจำนวนเท่าใดสำหรับ VPS
top - 02:34:42 up 1:55, 3 users, load average: 54.22, 34.14, 32.00
Tasks: 179 total, 72 running, 107 sleeping, 0 stopped, 0 zombie
%Cpu(s): 70.7 us, 27.4 sy, 0.0 ni, 1.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16777216 total, 2584976 free, 13411120 used, 781120 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 3282716 avail Mem
(此处省略……)
จากสิ่งที่คุณให้มา top เมื่อพิจารณาจากเอาต์พุตคำสั่ง โหลด VPS ของคุณค่อนข้างสูง โดยโหลดเฉลี่ยอยู่ที่ 54.22 (1 นาทีล่าสุด), 34.14 (5 นาทีล่าสุด) และ 32.00 (15 นาทีล่าสุด)
สิ่งนี้บ่งชี้ว่าระบบของคุณมีการใช้งานสูง VPS ของคุณมี CPU 4 คอร์และ RAM 16GB แต่หน่วยความจำที่ใช้คือ 13,411,120KiB ซึ่งใช้เพียง 781,120KiB เป็นบัฟเฟอร์
ตามที่ top จากเอาต์พุตคำสั่ง คุณจะเห็นว่ามีหลายกระบวนการที่ต้องใช้ทรัพยากรมาก:
- mariadbd (บริการฐานข้อมูล MariaDB):ใช้ทรัพยากร CPU จำนวนมาก (143.1%)
- เมคแคช:ครอบครอง CPU จำนวนหนึ่ง (7.7%)
- กระบวนการ php-cgi หลายรายการ:แต่ละรายการใช้ทรัพยากร CPU และหน่วยความจำบางอย่าง
วิธีแก้ปัญหา VPS High Load?
วิธีแก้ปัญหาสำหรับภาระงานสูงอาจรวมถึง:
- เพิ่มประสิทธิภาพฐานข้อมูล:หาก mariadbd ใช้ CPU จำนวนมาก คุณอาจต้องปรับการสืบค้นฐานข้อมูลให้เหมาะสมหรือพิจารณาเพิ่มทรัพยากรของเซิร์ฟเวอร์ฐานข้อมูล
- เพิ่มประสิทธิภาพแอปพลิเคชัน PHP:เนื่องจากมีกระบวนการ php-cgi หลายกระบวนการที่ใช้ CPU และหน่วยความจำจำนวนมาก คุณจึงอาจจำเป็นต้องปรับแอปพลิเคชันหรือสคริปต์ PHP ของคุณให้เหมาะสมเพื่อลดการใช้ทรัพยากร
- จำกัดจำนวนกระบวนการ:ลองใช้บางอย่าง เช่น worker_processes ของ nginx หรือการตั้งค่า pm ของ PHP-FPM เพื่อจำกัดจำนวนกระบวนการ
- ส่วนขยายทรัพยากร:หากการปรับให้เหมาะสมยังไม่ตรงตามความต้องการของคุณ คุณอาจต้องอัปเกรด VPS ของคุณเป็นการกำหนดค่าที่มีคอร์หรือ RAM มากกว่า
- ติดตามและวิเคราะห์:ใช้เครื่องมือตรวจสอบขั้นสูงเพิ่มเติมเพื่อวิเคราะห์การใช้ทรัพยากรระบบและระบุปัญหาคอขวด
- โหลดบาลานซ์:หากการรับส่งข้อมูลเป็นส่วนหนึ่งของปัญหา ให้พิจารณาใช้การปรับสมดุลโหลดเพื่อกระจายคำขอไปยังเซิร์ฟเวอร์หลายเครื่อง
ก่อนที่จะพิจารณาอัปเกรด VPS ของคุณ ขอแนะนำอย่างยิ่งให้คุณปรับระบบและแอปพลิเคชันของคุณให้เหมาะสมก่อน
การอัพเกรดทรัพยากรฮาร์ดแวร์ควรทำเป็นทางเลือกสุดท้าย และเฉพาะเมื่อมีการพิจารณาว่าฮาร์ดแวร์ปัจจุบันไม่สามารถปรับให้เหมาะสมเพื่อตอบสนองความต้องการได้เท่านั้น
จะตั้งค่าขีดจำกัดกระบวนการ VPS ได้อย่างไร?
เมื่อกำหนดขีดจำกัดกระบวนการ คุณควรพิจารณาปัจจัยต่อไปนี้:
- จำนวนกระบวนการปัจจุบัน:คุณต้องมีขีดจำกัดกระบวนการที่เหมาะสมซึ่งสูงกว่าจำนวนกระบวนการเฉลี่ยในปัจจุบันเพื่อหลีกเลี่ยงผลกระทบต่อการทำงานปกติ
- ข้อกำหนดของระบบและแอปพลิเคชัน:ทำความเข้าใจว่าโดยทั่วไปแล้วระบบและแอปพลิเคชันของคุณต้องใช้กระบวนการจำนวนเท่าใดในการรัน
- การใช้ทรัพยากร:ตรวจสอบการใช้งาน CPU และหน่วยความจำเพื่อกำหนดขีดจำกัดกระบวนการที่เหมาะสมและหลีกเลี่ยงความสิ้นเปลืองทรัพยากร
เมื่อพิจารณาถึงจำนวนกระบวนการปัจจุบันบนเซิร์ฟเวอร์ของคุณ ขอแนะนำว่าอย่าตั้งค่าขีดจำกัดกระบวนการต่ำเกินไป
ขีดจำกัดแบบหลวมๆ เช่น 50 หรือ 100 สำหรับขีดจำกัดแบบซอฟต์และ 100 หรือ 200 สำหรับขีดจำกัดแบบฮาร์ด อาจเหมาะสมกว่า คุณสามารถปรับเปลี่ยนได้ตามโหลดและประสิทธิภาพของเซิร์ฟเวอร์ของคุณ
หากคุณตัดสินใจที่จะเปลี่ยนขีดจำกัดของกระบวนการ ให้ตรวจสอบประสิทธิภาพของเซิร์ฟเวอร์ของคุณอย่างใกล้ชิด และเตรียมพร้อมที่จะย้อนกลับการเปลี่ยนแปลงในกรณีที่เกิดการหยุดทำงาน ในเวลาเดียวกัน ให้พิจารณาปรับการกำหนดค่าแอปพลิเคชันและระบบให้เหมาะสมเพื่อลดจำนวนกระบวนการที่ไม่จำเป็น
在ลินุกซ์ระบบคุณก็ผ่านได้ /etc/security/limits.conf การตั้งค่าไฟล์จะจำกัดจำนวนไฟล์ที่เปิด โดยมีรูปแบบดังนี้:
<用户名或用户组> soft nofile <软限制值>
<用户名或用户组> hard nofile <硬限制值>
สมมติว่ามีการตั้งค่าขีดจำกัดกระบวนการ:
elo hard nproc 1000
elo hard nofile 5000
VPS อัปเกรดจาก 4-core 16GB เป็นแผนการกำหนดค่าที่เหมาะสมที่สุด
พบว่ามีกระบวนการทำงานมากที่สุดประมาณ 500 กระบวนการ ดังนั้นจึงจำเป็นต้องอัปเกรดการกำหนดค่าเซิร์ฟเวอร์หรือไม่ เซิร์ฟเวอร์คอนฟิกูเรชันใดที่แนะนำให้อัพเกรดเป็น?
สมมติว่าแอปพลิเคชันของคุณจำเป็นต้องใช้กระบวนการจำนวนมากพร้อมกัน และคุณต้องการให้แน่ใจว่าระบบมีทรัพยากรเพียงพอที่จะรองรับภาระงานสูง ต่อไปนี้เป็นคำแนะนำเฉพาะบางประการ:
- จำนวนแกน CPU:อัปเกรดเป็น CPU ที่มี 8, 16 คอร์ขึ้นไป ขึ้นอยู่กับว่าแอปพลิเคชันของคุณจะได้รับประโยชน์จากมัลติเธรดหรือไม่
- ขนาดหน่วยความจำ:เพิ่มหน่วยความจำเป็น 32GB, 64GB หรือสูงกว่า ขึ้นอยู่กับข้อกำหนดหน่วยความจำของแอปพลิเคชันของคุณและจำนวนกระบวนการที่คุณกำลังทำงานอยู่
- แหล่งข้อมูลเพิ่มเติม:พิจารณาเพิ่มทรัพยากรเพิ่มเติม เช่น เซิร์ฟเวอร์ฐานข้อมูลเฉพาะหรือโหลดบาลานเซอร์ เพื่อปรับปรุงประสิทธิภาพและความน่าเชื่อถือโดยรวม
โปรดทราบว่าการอัพเกรดการกำหนดค่าฮาร์ดแวร์ของคุณไม่ใช่คำตอบสำหรับปัญหาด้านประสิทธิภาพ ตรวจสอบให้แน่ใจว่ารหัสแอปพลิเคชัน การสืบค้นฐานข้อมูล และการกำหนดค่าเซิร์ฟเวอร์ของคุณได้รับการปรับให้เหมาะสมเพื่อใช้ประโยชน์จากทรัพยากรฮาร์ดแวร์เพิ่มเติมอย่างเต็มที่
หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ ) แบ่งปัน "วิธีแก้ปัญหา VPS ที่โหลดสูง?" วิธีการเพิ่มประสิทธิภาพประสิทธิภาพ + คำแนะนำฉบับสมบูรณ์เกี่ยวกับการขยายหน่วยความจำ CPU" จะเป็นประโยชน์สำหรับคุณ
ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-31747.html
หากต้องการปลดล็อคเคล็ดลับที่ซ่อนอยู่เพิ่มเติม ยินดีต้อนรับเข้าร่วมช่อง Telegram ของเรา!
แชร์และกดไลค์ถ้าคุณชอบ! การแชร์และการถูกใจของคุณคือแรงบันดาลใจอย่างต่อเนื่องของเรา!