พอจะมีวิธีควบคุมปริมาณ CPU หรือ ข้อมูลที่บอกการใช้งาน CPU ของ user ได้บ้างมั้ยครับ

สวัสดีครับ

ผมมีโฮส CPU3GHZ Ram 2GB Disk 50GB อยุ่ครับ
ตอนนี้มีปัญหาเรื่อง CPU + I/O ถูกใช้งานอย่างหนัก โดนไม่สามารถหาคนผิดได้

OS CentOS 6.3 ,Directadmin

พอจะมีวิธีตรวจจับหรือแนะนำเครื่องมือได้บ้างมั้ยครับ

เพราะจะเชิญลูกค้าออกก็เกรงว่าจะเชิญออกผิดคนครับ

ถ้าข้อมูลยังไม่มาพอ กรุณาแจ้งด้วยครับ จะบอกข้อมูลเพิ่มให้ครับ เพราะไม่รู้ว่าต้องให้ข้อมูลอะไรบ้างในการวิเคราะห์ครับ

ทำ ruid ก่อนครับ ถ้าอยาก top แล้วหาคนผิดได้

ถ้าไม่ทำก็เปิด server-status ดู แล้วดู request ครับ

จริง ๆจะ limit process ต่อ user เลยก็ได้นะครับ. แต่ผมไม่แน่ใจว่าถ้าทำบนเว็บโฮสติ้งมันจะเวิร์คไหม ปัญหาคือว่า มันจะโดนด่าลับหลังได้ว่าโฮสล่ม (จริง ๆ เครื่องไม่ล่มแต่เดี้ยงเฉพาะเว็บที่ run ด้วย user นั้น ๆ) คือพอมันถึง limit ที่ตั้งไว้เว็บเข้าไม่ได้เลยนะ.

ตอนนี้วิธีที่กลาง ๆที่สุดคือ monitor ผ่าน mod_ruid / mod_fcgi แล้วเชิญออก

ใช้ CloudLinux จ๊ะ

ดูไม่ยากหรอกครับ ดูแค่ Apache-Status กับ mysql processlist 2 อย่างนี้ก็น่าจะเจอแล้ว
เว็บใหนหนักๆมันก็ค้างใน apache-status เยอะและก็มี process mysql query ค้างอยู่เยอะเช่นกัน

การ limit แบบง่ายๆก็แก้ my.cnf เพิ่ม max_user_connections = 30 เข้าไป
เดี๋ยวเว็บใหน mysql ค้างเยอะมันก็ล่มไปแค่เว็บเดียว เพราะ connect mysql ไม่ได้แค่เว็บนั้น
แล้วก็ตั้ง maxclients กับ serverlimits ใน apache ซัก 80-120 พอละ ให้มันเต็มแต่ไม่ตาย
มีแรมแค่ 2G ไม่ควรไปตั้งค่าสูงเกิน