กราฟที่มาจาก cacti หรือมาจาก zgraph นั้น จะเป็นตัวบ่งบอกถึงประสิทธิภาพของ Server ที่เราใช้งานอยู่
และบอกถึงสภาวะการทำงานในเวลาต่าง ๆ ว่าปกติ หรือมีการเปลี่ยนแปลงอย่างไรบ้าง สามารถนำมาวิเคราะห์
เพื่อปรับปรุง เปลี่ยนแปลง สเปคต่าง ๆ ให้เหมาะสมกับการใช้งานมากที่สุด
เอา 3 กราฟแรก กันก่อน
1. กราฟ CPU Usageกราฟนี้จะบ่งบอกการใช้งาน CPU โดยส่วนใหญ่แล้ว CPU มักจะเร็วพอเพียงสำหรับ Server อยู่แล้ว ไม่ค่อยมีปัญหา
แต่สำหรับ CPU รุ่นเก่า ๆ อาจจะมีปัญหา CPU ขึ้น 70%-80% ได้
ความสามารถของ CPU นั้น ไม่ได้สูงสุดที่ 100% แต่จะสูงสุดเท่ากับ จำนวน Processor x 100% โดยจำนวน
Processor สามารถดูได้จาก หน้า sysmon
ตัวอย่างจะเห็นว่า 6 Processor แสดงว่า สูงสุดรับได้ 600%
ตัวอย่างกราฟ CPU ที่โหลดถึง 500% ดังนั้นจะเห็นได้ว่า CPU จะมีความสามารถเกินพอ ไม่ค่อยมีปัญหาว่า CPU ไม่พอ
2. กราฟ Load Averageกราฟนี้จะบ่งบอกถึง ประสิทธิภาพของ Server ทั้งหมด เปรียบเทียบกับ ภาระงานทั้งหมดของ Server
กรณี Server เครื่องเดียวกัน ถ้างานน้อย load ก็จะน้อย ถ้างานเยอะ load ก็จะสูงในทางกลับกัน
กรณี งานเหมือนกัน ถ้า server แรง load ก็จะน้อย แต่ถ้า Server ช้า load ก็จะสูงดังนั้นค่านี้จะบ่งบอกได้ว่า Server เรารับไหวไหม โดยจะแบ่งเป็น 5 ระดับ ดังนี้
0-3 ประสิทธิภาพ Server ดีมาก ทำงานได้ลื่นไหล
3-10 ประสิทธิภาพ Server อยู่ในขั้นดี ทำงานได้ดี ไม่มีปัญหา
10-30 ประสิทธิภาพ Server พอใช้ ทำงานได้ อาจจะมีปัญหาบ้าง นิดหน่อย
30-60 ประสิทธิภาพ Server แย่ ทำงานได้ติดๆขัดๆ มีปัญหาเกิดขึ้น
60 ขึ้นไป ประสิทธิภาพ Server แย่มาก ทำงานไม่ได้ อาจจะค้างหรือหยุดทำงานไปเลย
ลองตรวจสอบดูนะครับ ว่า Server ของท่านอยู่ในระดับไหน
3. กราฟ MemoryMemory จะมี 4 ส่วนหลัก ๆ
- Kernel + App ก็จะเป็น Memory ที่ใช้รันโปรแกรมต่าง ๆ จะมากหรือน้อย ขึ้นกับจำนวนโปรแกรมที่รัน บาง Server
อาจจะแค่ 500MB บาง Server อาจจะ 2GB ขึ้นอยู่กับจำนวนโปรแกรมที่ใช้งานอยู่
- Buffers ก็คือ Memory ที่เก็บข้อมูลระหว่าง Disk กับ CPU เพื่อความรวดเร็วในการทำงาน Memory ส่วนนี้
ถ้าใช้งาน Master แบบ Device จะมี Buffer เพิ่มขึ้นมา จะมีการเก็บข้อมูลแบบ FIFO
อ่านจาก Disk มาพักไว้ ใน Buffer ก่อน จะส่งไป CPU
- Cache ก็คือ Memory ที่เก็บข้อมูลระหว่าง Disk กับ CPU เหมือนกัน แต่จะมีความฉลาดกว่า เนื่องจากจะเก็บข้อมูล
ที่มีการใช้งานบ่อยๆ ไว้ ใน Cache ถ้ามีการเรียกซ้ำอีก ก็อ่านจาก Memory เลย ไม่ต้องอ่านจาก Disk จะทำให้รวดเร็วขึ้น
ถ้าใช้งาน Master แบบ Image จะมีการใช้งาน Cache เพื่อความรวดเร็วมากขึ้น
- สำหรับ Free Memory ไม่ต้องกังวลนะครับ Linux จะจัดการดึง Memory มาใช้ให้มากที่สุดเท่าที่จะทำได้
โดย Memory จะให้ความสำคัญกับ Kernel + App ก่อน เหลือเท่าไหร่ ค่อยดึงมาใช้
เป็น Buffer และ Cache อีกที จึงไม่มีปัญหาว่า memory จะไม่พอสำหรับรันโปรแกรม
ดังนั้นจะไม่ค่อยมี Free Memory เหลือไว้สักเท่าไหร่ ไม่ต้องกังวลว่า Server จะอืดหรือช้า
แต่กลับกัน ใช้ Memory เยอะ ๆ จะทำให้ Server เร็วขึ้น
รูปนี้เป็นการใช้ Memory ของ Server ที่ใช้งาน Master แบบ Device
สำหรับรูปนี้ เป็น Server ที่ใช้งานแบบ Image ลองสังเกตความแตกต่างดูครับ
แบบ Image จะเร็วกว่า แต่ยุ่งยากกว่า // แบบ Device จะช้ากว่า แต่สะดวกกว่า // ขึ้นอยู่กับความถนัดของแต่ละท่าน
ฝากไว้ศึกษา 3 กราฟ กันก่อนนะครับ