รบกวนท่านผู้รู้แนะนำวิธีหน่อยนะครับ

รายละเอียดปัญหา:

อยากให้ท่านที่เชียวชาญปรับแต่ง mysql ให้หน่อยน่ะครับ
เพราะผมปรับยังไงก็ไม่มีวี่แววว่าจะดีขึ้นเลยครับ
ช่วงหลัง ๆ มานี่ ต้องมา restart httpd กับ mysqld ถึงทำให้ใช้งานได้ปกติ
แต่ก็ไม่ถึง 10 นาทีก็มีปัญหา มา restart อีกถึงจะใช้งานได้

ก็ไม่รู้ว่าจะปรับ หรือแก้อะไรตรงไหนแล้วน่ะครับ อีกอย่างคือผมเพิ่งมาเริ่มศึกษาน่ะครับ
เลยทำให้คงยังรู้เพียงพื้นฐาน เลยมาตั้งกะทู้ขอคำแนะนำครับ

  • หมายเหตุ *
  • อยากให้ปรับให้ทำงานได้ราบรื่น ไปอีกสัก 2 อาทิตย์ น่ะครับ เพราะได้เครื่องใหม่ที่จะเอาไปแทนตัวนี้แล้ว
  • เพื่อเป็นข้อมูลในการศึกษา การปรับแต่ง ในอนาคตครับ

รายละเอียดเครื่อง

Dell 860 / Ram : 1 GB / CentOS 4.4 (32 bit) / DirectAdmin / Apache 1.3 / MySQL 4.1.21

รูปภาพประกอบปัญหา

ขอบคุณครับ

โอวแม่เจ้า ทำไม process httpd สูงขนาดนั้นครับเนี่ย เครื่อง มีคนเข้าใช้งาน เยอะจริง หรือว่าโดน ยิง อะไรไหมเอ่ย
ลอง netstat -an ดู ip ดูครับ มี ip ไหน มี list ซ้ำกันเยอะๆ ไหม

ลองดูข้อมูล Apache Status เอามาประกอบครับ

เว็บไหนเหรอครับ คนเข้าเท่าไร
และใช้บอร์ดของอะไร smf ป่าว :slight_smile:

ลง mod security evasive อะไรครบยังครับ

ยังไงเอา apache status มาดูก่อนละกัน

มีบอร์ด smf เปิดอยู่ด้วยน่ะครับ

แล้ว apache status ดูยังไงครับ?
ส่วน mod นี่ คิดว่ายังไม่ลงอ่ะครับ

ดูเหมือน ram จะน้อยไปหน่อย น่าจะซัก 2GB นะครับ แต่ถ้าดูแล้วยังใช้ไม่หมดก็ไม่ต้องเพิ่ม
ส่วน apache ก็น่าจะ up เป็น 2.0 หรือ 2.2 จะช่วยให้เร็วขึ้น โดยเฉพาะกับ mod_security

สำหรับ netstat ให้ grep มาแต่ establish ครับ time_wait ไม่เอา

ส่วน server-status ให้เพิ่ม code นี้ใน httpd.conf แล้วดูจากหน้าเว็บ http://domain.com/xStatus


ExtendedStatus on
<Location /xStatus>

[quote author=thaidhost link=topic=9682.msg94094#msg94094 date=1201919849]
ลง mod security evasive อะไรครบยังครับ

ยังไงเอา apache status มาดูก่อนละกัน

[quote author=kke link=topic=9682.msg94110#msg94110 date=1201928740]
ดูเหมือน ram จะน้อยไปหน่อย น่าจะซัก 2GB นะครับ แต่ถ้าดูแล้วยังใช้ไม่หมดก็ไม่ต้องเพิ่ม
ส่วน apache ก็น่าจะ up เป็น 2.0 หรือ 2.2 จะช่วยให้เร็วขึ้น โดยเฉพาะกับ mod_security

สำหรับ netstat ให้ grep มาแต่ establish ครับ time_wait ไม่เอา

ส่วน server-status ให้เพิ่ม code นี้ใน httpd.conf แล้วดูจากหน้าเว็บ http://domain.com/xStatus


ExtendedStatus on
<Location /xStatus>

มาช่วยดัน

เมื่อเช้าไม่ได้ดูภาพ

ดูจากภาพที่ 2 แล้ว บอกได้ว่าปัญหามาจาก ram น้อยไปครับ
swap ถูกใช้ไป 3 ร้อยกว่าเมก โหลดขึ้นมาประมาณ 8
หากเพิ่ม ram อีก 1G น่าจะช่วยได้ โหลดน่าจะลดลงเหลือไม่ถึง 1
และปัญหาต่างๆน่าจะหมดไปเอง

พอเพิ่ม ram แล้วก็สามารถปรับแต่งให้ mysql ใช้ memory เพิ่มขึ้นได้อีกด้วย

จากรุปที่ให้มา ผมว่าแปลกนะครับ
มีการใช้ Swap ทั้งๆที่ case ยังมีตั้ง 142528K

linux เป็นอย่างนี้แหละครับ

ฟันธงว่า ram เต็มครับ

[quote author=offroad link=topic=9682.msg94133#msg94133 date=1201936728]

mod_security นี้มีวิธี แก้ปัญหากับ log
จำนวนมหาศาลใน error log ของ apache อย่างไรบ้างครับ

ช่้วยแนะนำหน่อยครับ

แรมน้อยแล้วมันจึงใช้ จำนวน process เยอะเหรอครับ

[quote author=BWebMass link=topic=9682.msg94214#msg94214 date=1201968269]
แรมน้อยแล้วมันจึงใช้ จำนวน process เยอะเหรอครับ

[quote author=pin[KKE]yhost link=topic=9682.msg94110#msg94110 date=1201928740]
ดูเหมือน ram จะน้อยไปหน่อย น่าจะซัก 2GB นะครับ แต่ถ้าดูแล้วยังใช้ไม่หมดก็ไม่ต้องเพิ่ม
ส่วน apache ก็น่าจะ up เป็น 2.0 หรือ 2.2 จะช่วยให้เร็วขึ้น โดยเฉพาะกับ mod_security

สำหรับ netstat ให้ grep มาแต่ establish ครับ time_wait ไม่เอา

ส่วน server-status ให้เพิ่ม code นี้ใน httpd.conf แล้วดูจากหน้าเว็บ http://domain.com/xStatus


ExtendedStatus on
<Location /xStatus>

อันนี้ไม่แน่ใจนะครับว่าจะอยู่ตรงไหนก็ได้รึเปล่า แต่ของผมอยู่บนสุดเลยครับ

[edit] : ปล. config บางตัวอาจจะมีส่วนนี้อยู่แล้วแต่มันถูกปิดโดยการ comment ไว้ครับ (มีเครื่องหมาย # นำหน้า) ลองไล่หาดูครับ

server status คือภาพรวม ทั้งหมดของ server ครับ ทั้ง CPU, RAM, HDD, Service ต่างๆ

apache status คือ Service นึงใน server status ที่ต้องมานั่งดูเพื่อแก้ปัญหาในครั้งนี้ครับ

code นั้นเอาไปใส่ตรงไหนของ httpd.conf ก็ได้ครับ