ก่อนอื่นฉันจะบอกว่าคุณอาจต้องการปิดการเชื่อมต่อแบบต่อเนื่องเนื่องจากพวกเขามักทำอันตรายมากกว่าดี
ประการที่สองฉันอยากบอกว่าคุณต้องการตรวจสอบผู้ใช้ MySQL อีกครั้งเพื่อให้แน่ใจว่าทุกคนไม่สามารถเชื่อมต่อจากเซิร์ฟเวอร์ระยะไกลได้ นี่เป็นสิ่งสำคัญในการตรวจสอบความปลอดภัย
ประการที่สามฉันอยากบอกว่าคุณต้องการเปิดใช้งานMySQL Slow Query Log เพื่อจับตาดูข้อสงสัยใด ๆ ที่ใช้เวลานานและใช้มันเพื่อให้แน่ใจว่าคุณไม่มีข้อสงสัยใด ๆ ที่ล็อคตารางคีย์นานเกินไป
สิ่งอื่น ๆ ที่คุณสามารถตรวจสอบได้คือการเรียกใช้แบบสอบถามต่อไปนี้ในขณะที่โหลด CPU สูง:
SHOW PROCESSLIST;
สิ่งนี้จะแสดงคิวรีใด ๆ ที่กำลังทำงานหรืออยู่ในคิวที่จะเรียกใช้คิวรีคืออะไรและกำลังทำอะไรอยู่ (คำสั่งนี้จะตัดทอนคิวรีหากยาวเกินไปคุณสามารถใช้ SHOW FULL PROCESSLIST เพื่อดูข้อความคิวรีแบบเต็ม) .
นอกจากนี้คุณยังจะต้องการที่จะเก็บตาในสิ่งที่ต้องการขนาดบัฟเฟอร์ของคุณแคชตาราง , แคชแบบสอบถามและinnodb_buffer_pool_size (ถ้าคุณกำลังใช้ InnoDB ตาราง) เป็นทั้งหมดของจัดสรรหน่วยความจำเหล่านี้สามารถมีผลกระทบต่อประสิทธิภาพการทำงานแบบสอบถามซึ่งสามารถทำให้เกิด MySQL เพื่อ กินซีพียู
คุณอาจต้องการอ่านต่อไปนี้เนื่องจากมีข้อมูลที่ดี
เป็นความคิดที่ดีมากในการใช้ profiler บางสิ่งที่คุณสามารถเปิดได้เมื่อคุณต้องการซึ่งจะแสดงให้คุณเห็นว่าแบบสอบถามของคุณกำลังทำงานอยู่หากมีข้อความค้นหาที่ซ้ำกันใช้เวลานานเท่าใด ฯลฯ ฯลฯ ตัวอย่างของสิ่งนี้คือสิ่งที่ฉันกำลังทำงานอยู่PHP Profilerแต่มีมากมายออกมี หากคุณกำลังใช้ซอฟต์แวร์บางส่วนเช่น Drupal, Joomla หรือ Wordpress คุณจะต้องถามถึงภายในชุมชนเนื่องจากอาจมีโมดูลสำหรับพวกเขาที่ช่วยให้คุณได้รับข้อมูลนี้โดยไม่จำเป็นต้องรวมอะไรด้วยตนเอง