Home »
Zabbix-Server
» CPU Load คืออะไร แตกต่างกับ CPU Usage % อย่างไร.....แล้วทำไม zabbix template จึงไม่ทำ CPU Usage
CPU Load คืออะไร แตกต่างกับ CPU Usage % อย่างไร.....แล้วทำไม zabbix template จึงไม่ทำ CPU Usage
💢 เรามาทำความเข้าใจสองค่านี้กันก่อนนะครับ 💢
สมมุติว่าเครื่องเรามี 1 CPU (1 core)
มีงานรันจนใช้ CPU Usage = 100% พอดีเป๊ะๆ ใน OS (operating system) จะเห็นว่า CPU Load = 1
ลักษณะแบบนี้ใช้ CPU เป๊ะ จะไม่มีงานรอนะครับ
ทีนี้มีงานเพิ่มอีกเท่าตัว เราก็เห็น CPU Usage = 100% เหมือนเดิมครับแต่ CPU Load = 2
ลักษณะแบบนี้คือเริ่มทำงานไม่ทันแล้วครับจะมีการรอเกิดขึ้น
แต่ก็มี Program บางประเภทครับ ที่ขอให้ CPU ไปใช้เพื่อรอ disk network ... I/O อื่นๆ
แบบนี้ CPU Usage อาจจะไม่ถึง 100% ครับ แต่ CPU Load = 2,3,4,5...💀
คราวนี้เรามาลองดูว่าถ้าเรามี 2 CPU (2 cores)
มีงานรันจนใช้ CPU Usage = 100% พอดีเป๊ะๆ ใน OS (operating system) จะเห็นว่า CPU Load = 2
ถ้าเรามี 3 CPU (3 cores)
มีงานรันจนใช้ CPU Usage = 100% พอดีเป๊ะๆ ใน OS (operating system) จะเห็นว่า CPU Load = 3
จะเห็นได้ว่า CPU 100% คือ OS มันมองว่าใช้งานคุ้มค่าครับ อยู่ที่ลักษณะโปรแกรมที่รันมากกว่าครับ
ด้วยเหตุผลนี้เราจึงใช้ในแง่ Capacity เพื่อใช้ในการ Planning
เรากลับมาดูที่ Zabbix ที่พวกเรากำลังศึกษากันนะครับ
💛"Zabbix is an open source monitoring software - Zabbix on Wikipedia."💛
ใช่แล้วครับ จุดประสงค์ของมันคือ Monitor ดึงนั้นการที่ CPU 100% ไม่ได้แสดงว่าระบบมีปัญหาเสมอไปครับ
แล้วค่า CPU Load เท่าไหร่ล่ะที่เหมาะสม
คำตอบคือ ไม่ตายตัวครับมีหลายปัจจัย
จำนวน Core, Program, Agreement ของ Software ที่เรากำหนดกับ User
Template ปรกติจะ set แค่ 5 ซึ่งเค้ามองแล้วว่างานสมัยนี้ไม่ค่อยมีเครื่องที่เป็น Physical ใหญ่ๆมี core เยอะๆครับ เป็น DevOps มากขึ้น
เราต้องคุยและทำ Test กับ User และ คนที่ทำ Application แล้ววัดผลร่วมกันครับว่าค่าไหนที่ยอมรับได้
ซึ่งปรกติที่ผมทำคือใช้ Default นี่แหละครับแล้วถ้าเครื่องไหนที่ปรกติ Load เยอะ แต่ยังใช้งานได้เร็วอยู่ก็ค่อยเพิ่ม Threshold ไปครับ
สำหรับใครต้องการจะ set graph cpu usage ไว้ใช้ดูนะครับลองดูค่านี้ครับ
system.cpu.util[,idle] <===== ค่านี้คือ idle เราก็ เอา 100 ลบเอาครับ
โชคดีครับ
😃😃😃😃😃
ไม่มีความคิดเห็น:
แสดงความคิดเห็น