Mysql slow query log
Entry นี้อุดรูรั่วตัวเองและสำหรับคนที่อยากอุดนะ
ความช้าของหน้า เกิดขึ้นจากหลายสาเหตุ ถ้าแบ่งเป็นส่วนใหญ่ๆของ WAMP หรือ LAMP ก็คือ 5 อัน
- hardware – กำลังจะพังรึเปล่า i/o อะไรที่ผิดปกติ
- W/L อันนี้คือ OS รัน app อยู่แล้วเยอหรือเปล่า RAM/HDD พอรึเปล่า
- A – Apache นั้น config หรือรับ con current เยอะอยู่หรือเปล่า (กรณี production)
- M – Mysql เป็น Slow query หรือเปล่า ไม่มี Index หรือเปล่า record บวมหรือเปล่า
- P – PHP เขียนอะไรพลาดไรพลาดไปรึเปล่า, คำนวนอะไรพลาดไป, stack ของ function เยอะเกินไปรึเปล่า
Entry นี้จะพูดเรื่อง Query
Query นั้นแทบจะใช้งานกันอยู่ตลอดเวลาสำหรับเรา แล้วมันก็เป็นอะไรที่ทำงานบ่อยมาก เช่นหน้านึงอาจจะ 200 query ขึ้นไปเลยก็ได้ เพราะฉนั้น หากหน้าหนึ่งช้าขึ้นมา ก็จะตั้งคำถามและว่า “แสรดช้าตรงใหนวะ”
Slow query และ Non index query ถือว่าเป็นอะไรที่เจอเยอะอยู่พอสมควร เพราะตอนที่ dev data จะน้อยมาก ทำให้ไม่ค่อยเกิดปัญหาเรื่องช้า
การอุดก็คือเอา data ยัดลงไปแล้ว query ดู หุหุ
แล้วเราก็เก็บ log ด้วยเช่น
เพิ่ม Slow log ของ mysql เลย
long_query_time=0.5
log-slow-queries=C:/wamp/logs/mysql-log-slow-queries.log
log_queries_not_using_indexes