วิธีตรวจสอบ Server ใช้ RAM ฟุ่มเฟือยไปกับส่วนไหนของระบบ

วิธีตรวจสอบ-Server-ใช้-Memory
วิธีตรวจสอบ-Server-ใช้-Memory

ในขั้นตอนของการทำ UAT (User Acceptance Test) เราอาจจะต้องการทราบว่าเว็บไซต์หรือซอฟต์แวร์ที่เราพัฒนามานั้นมีการใช้งาน Memory RAM ไปกับส่วนไหนบน Server บ้าง เพื่อป้องกันการเกิด Memory Leak จนทำให้เว็บไซต์ไม่สามารถใช้งานได้

วิธีตรวจสอบ Server ใช้ Memory RAM ด้วยคำสั่ง top

  • ใช้คำสั่ง ssh เชื่อมต่อไปที่ server ก่อน โดยเปิด terminal ขึ้นมาและพิมพ์คำสั่งดังนี้
ssh [email protected]

xxx.xx.xx.xx คือไอพีของเครื่อง server จากนั้นจะมีให้ใส่ password หลังจาก connect เข้า server เรียบร้อยแล้ว ให้พิมพ์คำสั่ง top ก็จะปรากฏข้อมูลการใช้งาน process ต่าง ๆ ภายใน server ดังภาพ

จากรูปตัวอย่างด้านบน เราจะเน้นดูหลัก ๆ 3 column คือ USER, %CPU, %MEM

  • USER คือ ชื่อของ process ที่กำลังทำงานอยู่ เช่น ชื่อ software, mysql, apache เป็นต้น ดูจากชื่อเราก็คงพอจะเอาออกมาเป็นการทำงานเกี่ยวกับอะไร
  • %CPU คือ เปอร์เซ็นต์ในการใช้งาน CPU ในการประมวลผลของ USER นั้น ๆ
  • %MEM คือ เปอร์เซ็นต์ในการใช้งานหน่วยความจำของ USER นั้น ๆ

โดยปกติค่าในตารางตามรูปด้านบนจะวิ่งไปตาม process การทำงาน ทำให้ดูค่อนข้างลำบากว่า ส่วนไหนบน server ใช้งานอะไร และใช้ไปเท่าไหร่แล้วบ้าง เราสั่งให้จัดเรียงตามคอลัมน์ได้ โดยให้กด shift+f จะแสดงข้อมูลดังภาพด้านล่าง กดอักขระแทนคอลัมน์ที่เราต้องการให้เรียงลำดับตามนั้น เช่น ต้องการให้เรียงตาม %MEM ก็กดที่ปุ่ม n

ผลลัพธ์ที่ได้เมื่อเรากดปุ่ม n และ enter เพื่อต้องการให้เรียงตามปริมาณการใช้งาน Memory เป็นเปอร์เซ็นต์จากมากไปน้อย

จากภาพด้านบนจะเห็นว่า เราใช้หน่วยความจำ Memory RAM ไปกับ MySQL ถึง 15%

  • MySQL 15.7%
  • PHP 1.1%
  • gitlab-runner 0.6%

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

Leave a Reply