การตรวจสอบฐานข้อมูลด้วย Slow query log

วิธีการนี้มีประโยชน์ สำหรับตรวจสอบว่ามี ฐานข้อมูลไหนบ้างใน Server ที่มีการ query ฐานข้อมูลเป็นระยะเวลานานกว่าปกติเนื่องจากฐานข้อมูลที่มีการ query ฐานข้อมูลนานๆ นั้นมักจะเป็นฐานข้อมูลที่มีปัญหาครับ หรือมีการใช้งานที่ผิดปกติครับ
หากเราปล่อยไว้ slow query สะสมไว้มากๆ จะทำให้ประสิทธิภาพในการทำงานของ Server ลดลง จนอาจทำให้ Service Mysql ค้างได้ครับ

แก้ไข /etc/my.cnf เติมตรงนี้เข้าไปใน section ของ [mysqld] ครับ

log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1

เสร็จแล้วสร้าง Directory กับเตรียม permission ให้เรียบร้อย เพื่อให้ mysql เขียน log ให้เราใน Directory นั้น

mkdir -p /var/log/mysql
chown mysql:mysql /var/log/mysql

เสร็จแล้ว restart mysql ครับ

service mysqld restart

ตรวจสอบ Log นี้ได้ที่

/var/log/mysql/mysql-slow.log

หมายเหตุ :
ถ้า restart แล้ว error ลองเปลี่ยนคำว่า log_slow_queries เป็น slow_query_log_file ดูครับ

Was this article helpful?

Related Articles