เรากำลังพยายามทำการดีบักประสิทธิภาพของเซิร์ฟเวอร์และฉันต้องการจับภาพรวมของการสืบค้นที่เรียกใช้บนเซิร์ฟเวอร์ MySQL ของเราในเวลาไม่กี่นาที
ฉันคุ้นเคยกับ MySQL SHOW FULL PROCESSLIST
แต่ฉันต้องการที่จะเรียกใช้ผ่านทางบรรทัดคำสั่งเพื่อให้ฉันสามารถถ่ายโอนไปยังไฟล์และโพสต์กระบวนการ
มีวิธีที่จะส่งออกแบบสอบถามนี้ไปยังไฟล์และให้มันทำงานทุก ๆ วินาทีหรือไม่?
มีวิธีที่ดีกว่าในการจับการสืบค้นทั้งหมดที่กำลังทำงานอยู่หรือไม่?
โปรดทราบว่าฉันไม่สนใจเพียงแค่การสืบค้นที่ช้า (ฉันคุ้นเคยกับบันทึกการสืบค้นที่ช้า)
echo show full processlist | mysql
หรือดีกว่าSELECT info FROM information_schema.processlist WHERE Command="Query" AND User!="root"
ในการวนซ้ำ เพิ่มสองสามบรรทัดแล้วคุณจะได้รับฟังก์ชันการค้นหาที่เหมือนกันมากกว่าinnotop
หรือ pt-kill