Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

การควบคุมโหลดของระบบอย่างเชี่ยวชาญ:วิธีอ่านและตีความค่าเฉลี่ยโหลด

อัปเดตเมื่อวันที่ 25 กุมภาพันธ์ 2024 เพื่ออัปเดตภาพหน้าจอตัวอย่างและลิงก์ที่ล้าสมัย

การตรวจสอบโหลดของระบบถือเป็นสิ่งสำคัญในการทำให้แอปของคุณทำงานได้อย่างราบรื่น ตัววัด Host ของ AppSignal ให้ข้อมูลเชิงลึกเกี่ยวกับ ค่าเฉลี่ยการโหลด ของระบบของคุณ ซึ่งแสดงว่าระบบของคุณมีภาระงานมากเท่าใดในกรอบเวลาต่างๆ คุณยังตรวจสอบเมตริกนี้ได้โดยใช้เครื่องมือเช่น 08 , 16 และ 24 :

แต่ "ค่าเฉลี่ยการโหลด" หมายถึงอะไร และคุณควรตีความตัวเลขเหล่านี้อย่างไร ในโพสต์นี้ เราจะแจกแจงโหลดของระบบ อธิบายวิธีอ่านค่าเฉลี่ยโหลด และแสดงวิธีตรวจสอบโหลดอย่างมีประสิทธิภาพ

ค่าเฉลี่ยโหลดคืออะไร

ค่าเฉลี่ยการโหลดมักจะแสดงเป็นตัวเลขสามตัว ดังตัวอย่างจาก 37 ด้านบน ตัวเลขสามตัวที่อยู่ท้ายผลลัพธ์แสดงปริมาณการโหลดเฉลี่ยในนาทีสุดท้าย (49 ) ในช่วงห้านาทีที่ผ่านมา (55 ) และสิบห้าอันสุดท้าย (65 ).

การควบคุมโหลดของระบบอย่างเชี่ยวชาญ:วิธีอ่านและตีความค่าเฉลี่ยโหลด

บน AppSignal ค่าเฉลี่ยการโหลดจะแสดงเป็นนาทีในช่วง 12 ชั่วโมงที่ผ่านมา และแสดงต่อชั่วโมงเป็นระยะเวลานานขึ้น คุณสามารถเจาะลึกลงไปทุกช่วงเวลาด้วย Time Detective และเปรียบเทียบโฮสต์แบบเรียลไทม์โดยใช้แดชบอร์ดตัวชี้วัดโฮสต์ของเรา

โหลดระบบ

เพื่อทำความเข้าใจว่าค่าเฉลี่ยโหลดเหล่านี้บอกอะไรเรา (และเมื่อใดที่ต้องตื่นตระหนก) เราต้องเข้าใจก่อนว่า โหลดของระบบ คืออะไร หมายถึงและวิธีการวัด

โหลดของระบบโดยพื้นฐานแล้วคือจำนวนกระบวนการที่ทำงานอยู่ ณ เวลาใดก็ตาม:

  • เมื่อไม่ได้ใช้งาน โหลดจะเป็น 0 .
  • เมื่อกระบวนการเริ่มต้น โหลดจะเพิ่มขึ้น 1 .
  • เมื่อกระบวนการเสร็จสมบูรณ์ โหลดจะลดลง 1 .

โหลดยังรวมถึงกระบวนการที่รอเวลา CPU ด้วย ดังนั้น หากกระบวนการหนึ่งกำลังใช้งาน CPU อยู่และอีกสองกระบวนการอยู่ในคิว โหลดจะเป็น 3 .

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

โหลดเฉลี่ย

ตอนนี้เราทราบวิธีการนับโหลดของระบบแล้ว เรามาดูค่าเฉลี่ยโหลดกันดีกว่า ดังที่เราได้เห็นแล้วว่า โหลดที่ระบบอยู่ภายใต้มักจะแสดงเป็นค่าเฉลี่ยในช่วงเวลาหนึ่ง

โดยทั่วไป CPU แบบ single-core สามารถจัดการได้ครั้งละหนึ่งกระบวนการ โหลดโดยเฉลี่ย 1.0 หมายความว่าหนึ่งคอร์ไม่ว่าง 100% ของเวลา หากค่าเฉลี่ยการโหลดลดลงเหลือ 0.5 แสดงว่า CPU ไม่ได้ใช้งานเป็นเวลา 50% ของเวลา

หากค่าเฉลี่ยการโหลดเพิ่มขึ้นเป็น 1.5 แสดงว่า CPU ไม่ว่างตลอดเวลาในขณะที่มีกระบวนการอื่น (โดยเฉลี่ย) รอ 50% ของเวลา ส่งผลให้ CPU ทำงานมากกว่าที่จะจัดการได้

ตัวประมวลผลแบบลอจิคัล

หลักการทั่วไปคือค่าเฉลี่ยการโหลดไม่ควรเกินจำนวนโปรเซสเซอร์ในเครื่อง หากจำนวนโปรเซสเซอร์คือสี่ โดยทั่วไปโหลดควรอยู่ที่ต่ำกว่า 4.0

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

หากต้องการตรวจสอบจำนวนตัวประมวลผลแบบลอจิคัลบน Linux ให้นับตัวประมวลผลที่อยู่ใน 73 หรือใช้:

 

ซึ่งจะพิมพ์จำนวนสายโปรเซสเซอร์ออกมาโดยอัตโนมัติ สำหรับ Mac คุณสามารถถาม 80 ได้ สำหรับจำนวนตัวประมวลผลแบบลอจิคัลโดยตรงโดยใช้:

 

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

😏 ดูบทความเกี่ยวกับประสิทธิภาพของ Ruby (บน Rails) อื่นๆ ในรายการตรวจสอบการตรวจสอบประสิทธิภาพของ Ruby ของเรา

การอ่านค่าเฉลี่ยโหลด

เนื่องจากเป็นค่าเฉลี่ยของจำนวนกระบวนการที่แน่นอน จึงอาจดูเหมือนเป็นเรื่องยากที่จะระบุได้ว่าค่าเฉลี่ยโหลดที่เหมาะสมคืออะไร และเมื่อใดที่ต้องแจ้งเตือน โดยทั่วไป เนื่องจากแต่ละแกน CPU ของคุณสามารถจัดการกับกระบวนการได้ครั้งละหนึ่งกระบวนการ ระบบจึงไม่ได้โอเวอร์โหลดจนกว่าจะเกิน 1.0 ต่อตัวประมวลผลแบบลอจิคัล บนระบบดูอัลคอร์ (ไม่มีไฮเปอร์เธรด) นั่นจะเป็น 2.0

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

ตรวจสอบโฮสต์ของคุณด้วย AppSignal

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

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

มีคำถามหรือข้อเสนอแนะ? โปรดแจ้งให้เราทราบ ผู้เชี่ยวชาญของเราพร้อมตอบคำถามติดตามผลของคุณ!