zilla
May 17, 2013, 7:07pm
1
สวัสดีครับ
ผมมีโฮส CPU3GHZ Ram 2GB Disk 50GB อยุ่ครับ
ตอนนี้มีปัญหาเรื่อง CPU + I/O ถูกใช้งานอย่างหนัก โดนไม่สามารถหาคนผิดได้
OS CentOS 6.3 ,Directadmin
พอจะมีวิธีตรวจจับหรือแนะนำเครื่องมือได้บ้างมั้ยครับ
เพราะจะเชิญลูกค้าออกก็เกรงว่าจะเชิญออกผิดคนครับ
ถ้าข้อมูลยังไม่มาพอ กรุณาแจ้งด้วยครับ จะบอกข้อมูลเพิ่มให้ครับ เพราะไม่รู้ว่าต้องให้ข้อมูลอะไรบ้างในการวิเคราะห์ครับ
ทำ ruid ก่อนครับ ถ้าอยาก top แล้วหาคนผิดได้
ถ้าไม่ทำก็เปิด server-status ดู แล้วดู request ครับ
360
May 17, 2013, 8:33pm
3
จริง ๆจะ limit process ต่อ user เลยก็ได้นะครับ. แต่ผมไม่แน่ใจว่าถ้าทำบนเว็บโฮสติ้งมันจะเวิร์คไหม ปัญหาคือว่า มันจะโดนด่าลับหลังได้ว่าโฮสล่ม (จริง ๆ เครื่องไม่ล่มแต่เดี้ยงเฉพาะเว็บที่ run ด้วย user นั้น ๆ) คือพอมันถึง limit ที่ตั้งไว้เว็บเข้าไม่ได้เลยนะ.
ตอนนี้วิธีที่กลาง ๆที่สุดคือ monitor ผ่าน mod_ruid / mod_fcgi แล้วเชิญออก
kke
May 18, 2013, 2:10am
5
ดูไม่ยากหรอกครับ ดูแค่ 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 ไม่ควรไปตั้งค่าสูงเกิน