เกิดเหตุการณ์อย่างนี้จะ comfig ยังไงคับ

เรื่องมีอยู่ว่า เครื่อง server ที่ใช้งานเป็น webserver มันเกิดปัญหาเมื่อ connection มันเยอะมันจะเริ้มอืด ๆ อะคับ เข้าเว็บช้ามาก
แล้วผมเขียน script วัดจำนวน client ที่เข้ามาใช้ ณ เวลานั้น มันจะเริ่ม เมื่อมี client ประมาณ 300 - 400 การเข้าใช้งานเว็บเริ่มช้าแล้วอะครับไม่ทราบว่า
เป้นที่อะไร

ขอความช่วยเหลือหน่อยครับ

เป็นไปได้หลายสาเหตุครับ แต่ที่น่าวิเคราะห์คือ

  1. Webserver + PHP ด้วยหรือไม่ ?
  2. Webserver บนเครื่องที่มีหน่วยความจำ (RAM) เท่าไร ? บริการข้อมูลประเภทไหน ? (File ขนาดใหญ่ ?, ติดต่อ Database ?)
  3. Webserver ที่บริการ Clients 300 - 400 หรือมากกว่า ต้องใช้ Bandwidth เท่าไร ? ตอนนี้ พอหรือไม่ ?

เราจะมาลองวิเคราะกันทีละข้อนะครับ

  1. Webserver + PHP ด้วยหรือไม่ ?
  • การที่ Run PHP ด้วย และบริการ Clients จำนวนมาก ต้องมีการประมวลผล ตรวจสอบการทำงานของ CPU ว่ายังทำงานในลักษณะสบาย ๆ ดีอยู่หรือไม่ ลองใช้คำสั่ง top
# top
  • Webserver บนเครื่องที่มีหน่วยความจำ (RAM) เท่าไร ? บริการข้อมูลประเภทไหน ? (ติดต่อ Database ?)
    • กรณีที่ต้องติดต่อกับฐานข้อมูล หาก Database Server อยู่บนเครื่องเดียวกันกับ Webserver จะต้องตรวจสอบความเหมาะสมของการใช้หน่วยความจำ RAM เพราะโดยปกติการทำงานของ Database Server จะต้องการใช้ RAM ในการเพิ่มประสิทธิภาพของการทำงาน หากมีไม่เพียงพอ ระบบจะต้อง Swap ข้อมูลลงในหน่วยความจำเสมือน (Swap Partition) จะทำให้การทำงานช้าลงมาก และการเขียนข้อมูลจำนวนมาก หรือเขียนข้อมูลบ่อย ๆ ลงใน Database ก็เป็นอีกส่วนที่ทำให้ระบบอืดได้เช่นกัน
    • กรณีตรวจสอบการใช้ Memory (RAM) ใช้คำสั่ง free เพื่อดูภาพรวม และคำสั่ง top เพื่อดูแบบเฉพาะเจาะจงเป็น process
    # free -m 
                 total       used       free     shared    buffers     cached
    Mem:          3959       3930         28          0       1650       1771
    -/+ buffers/cache:        507       3451
    Swap:         3137          0       3137
    
  • Webserver ที่บริการ Clients 300 - 400 หรือมากกว่า ต้องใช้ Bandwidth เท่าไร ? ตอนนี้ พอหรือไม่ ?
    • ควรตรวจสอบการใช้ Bandwidth ว่าพอผู้ใช้เข้ามาใช้บริการมาก ๆ แล้วช้า เป็นเพราะ Bandwidth ไม่พอหรือไม่ ตรวจสอบโดยใช้โปรแกรม iptraf
    # aptitude install iptraf
    # iptraf

    จะมี Menu ให้เลือกดูค่าต่าง ๆ ของแต่ละ interface สามารถตรวจสอบได้ แบบ Realtime ครับ

    หากต้องการดูค่าต่าง ๆ ทั้งหมดที่กล่าวมา แบบมีการเก็บค่าตัวอย่างตลอดเวลาทุก ๆ ช่วงเวลาที่กำหนด ตอนนี้ผมใช้ Cacti ก็สะดวกดีครับ ส่วนหน้าตา และวิธีใช้งาน Cacti แนะนำให้ไปดูที่ http://www.cacti.net ครับ

    ส่วนวิธีแก้ไข ไม่มีสูตรสำเร็จครับ ต้องมาประเมินกันก่อนว่า ปัญหา คือ อะไรบ้าง ? แล้วค่อยคิดหาวิธีแก้ไขครับ :)
    ___
    Neutron: Linux Addict!

    ขอบคุณครับ เดี่ยวผมลองก่อนครับ

    Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
    ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้