Mysql เดี้ยงบ่อย ๆ แก้ไขอย่างไรครับ

MYSQL เดี้ยงบ่อย ๆ แก้ไขอย่างไรครับ

คือมันเน่าบ่อย ติด ๆ ดับ ๆ หาย ๆ ไม่ทราบสาเหตุ

HDD ก็เพิ่งเปลี่ยนไปครับ ดับบ่อยมาก คือ ไม่ใช่ดับสนิท ดับ ๆ ติด ๆ ดับ ๆ แบบนี้ตลอดครับ

เช่น ดับสัก 1-2 นาที ก็ติดอีก ไรงี้ครับ ไม่ีทราบว่าเป็นอะไร

เคยจ้างท่านที่นี่คอนฟิกเหมือนกัน แต่ก็ไม่ดีขึ้นเลย เลยอยากจะรู้ว่ามันเกิดขึ้นเพราะอะไร

เป็นทั้ง 2 ตัวเลยครับ ใช้ DA หมด sv ส่วนตัว

ขอบคุณมากครับ

ดู log error สิครับ

อฮิบาย งงๆ หมายถึงเป็นทั้งสองเครื่องหรอครับ

ไม่เคยเห็นนะ ติดๆ ดับๆ เห็นแต่ stop ไปเฉยๆ และ start ไม่ขึ้นครับ

โดยปกติ หากใช้ DA ก็จะมี deamon ของ DA check mysqld ทำงานอยู่แล้ว หากมัน stop ก็จะ start ใหม่ให้

ลองค้นดู log ประกอบครับ และ load เป็นอย่างไรบ้าง มันมีหลายสิ่งหลายอย่างที่ต้องสังเกตุ

ปกติแล้ว Mysql ไม่ได้ stop เองง่ายๆ มีแต่ connection เต็มจน connect เพิ่มไม่ได้

นอกจากว่าไปกำหนด maxconnection ไว้สูงเวอร์ อันนี้ก็จะทำให้ โหลดสูง และก็ RAM หมดได้ ก็จะทำให้เครื่องอึ้งๆไป

maxconnection เหมือนๆ max client ไหมครับ

กำหนดตรงไหนหรอครับ

ของผมเจอใช้แรมแค่ 600กว่าๆ จาก 2GB

แต่ cpu เกลี้ยงใช้ไป 82-92%

ลอง tuning database ดูครับ

ไม่ควรใช้ cpu สูงขนาดนั้น

max connection ก็คือ concurrent (ที่ connected ใช้งานในขณะนั้นๆ) กำหนดไว้ 100-500 หากแรม 1-2GB แค่นี้ mysql ก็ทำงาน slow แล้ว

กำหนดอย่างไรแล้ว ไปไล่หาดูใน my.cnf จะมี comment เอาไว้

การ tuning concurrent ไม่ใช่กำหนดให้มากที่สุด แต่กำหนดให้ทำงานเหมาะสมกับ cpu + ram (ram ที่กำหนดให้ mysqld) ต้องปรับ buffer ให้เหมาะสม

ค่าต่างๆเหล่านี้ระบุตายตัวไม่ได้ ต้องค่อยๆปรับขึ้นทีล่ะนิด

กำหนดพร้อมกันไปกับพวก timeout บางครั้ง เรากำหนด timeout ไว้ให้น้อยๆ ก็ทำให้ process ปลดปล่อยได้ง่าย connection ใดเปิดแล้วค้าง จะทำให้ไม่เกิดการ inqury ค้างสะสม ไม่มีอาการ wait จนกระทบกับ cpu speed & ram free

tuning ให้แรง ไม่ค่อยเห็นผล แต่ tuning ให้ทำงานราบรื่น… tune ได้ครับ

ด้าน apache ก็มีผลอย่างมากครับ ดูที่ใช้จำนวน slot และ SS (ดูใน server-status)

ขอบคุณมากครับ

ผมเข้า DA ดู ตรง mysql ก็ไม่ได้ stop นะครับ แต่ผมก็งงว่า มันเป็นที่ อะไร

เช่นผมเข้าเวบที่มี sql เข้าไปก็ฟ้องมีปัญหา mysql แต่ไปดูที่ DA ส่วนของ mysql ก็ปกติ start อยู่ แต่ตรง httpd จะมี โพรเซสมาก ๆ ครับ

อาการมันมักจะเป็นตอน httpd โปรเซสมากครับ แล้วก็มักจะ cpu overload บ่อย

ส่วน sv มี 2 ตัว อาการที่เป็น เหมือน ๆ กัน ตามข้างต้น

ตัวแรก สเปกเก่าหน่อย แรมสองกิ๊ก อินเทล แฟลตฟอร์ม

ตัวสอง เป็นอินเทลเหมือนกัน แรมสี่กิ๊ก ซีพียู ก็ ซีอ้อน จำรุ่นไม่ได้ hdd เพิ่งเปลี่ยนตัวนี้

ผมเคยจ้างคนในนี้ทำเหมือนกัน แต่มันไม่ดีขึ้น sv ยัง overload iวมไปถึง sql ก็ยังติด ๆ ดับ ๆ เหมือนเคย ปล่อยไปสักพักก็ใช้งานได้เหมือนเคย ประมาณนี้ครับ

เปิด server-status เช็คดูครับ เดี๋ยวก็เห็นไฟล์สครืปตัวไหนที่มันสร้างปัญหา ก็อย่างที่ผมบอกครับ เอาแต่ไปสนใจแต่ไป tuning mysql แล้ว apache ล่ะไม่ tuning ก่อนหรอ

คิดง่ายๆนะครับว่า หากเราเปิดเพจๆหนึ่ง (หน้าเว็บเพจ 1 หน้า) แล้วมีอาการ query data sql หา database server (MySQL) แล้วไม่สามารถดึงข้อมูลจาก mysql มาแสดงบนเว็บเพจได้ ต้องรอ หน้าล่ะ 5 วินาที

มีคนเปิดพร้อมๆกัน 50 คน มันจะ wait ไปสักเท่าไรครับ

ให้ไปดูเรื่อง timeout

ก็มันดึงข้อมูลไม่เสร็จสักที มันก็ รอ รอ รอ รอไปเถอะ

apache มันก็ใช้ slot จนเต็ม ผลก็คือ apache ดึง data จาก database ไม่ได้สักที มันก็ฟ้องว่า database error ไม่แปลกที่มันจะฟ้องออกมาแบบนั้น

ไปจัดการเรื่องการดึงและปล่อยข้อมูลแสดงออกมาบนเว็บเพจให้คล่องตัวที่สุด ใช้การจำกัด timeout เข้ามาช่วย connection ไหนมัน wait นาน ก็ปล่อยให้มัน timeout ไปเถอะ เพื่อให้ connection รายอื่นๆเค้าได้ใช้บ้าง

process มันก็ไม่เต็ม

ผมบอกไปแล้วเป็นนัยๆว่า tuning ให้เครื่องแรง ไม่ค่อยจะได้ผล

แต่ tuning ให้เครื่องทำงานได้ราบรื่น… ทำได้ และได้ผล

ไปหาทางล่ะกันครับ.

ปัญหาที่ผมบอกไปแหละ จ้างมือปืนมาหา script ต้นตอ และแก้ไขน่าจะดีสุด ปรับจูนไปก็ไม่ได้ช่วยอะไรมาก