ประสิทธิภาพ
การวิเคราะห์คิวรี MySQL ที่ช้า
เว็บไซต์ช้าเก้าสิบเปอร์เซ็นต์คือฐานข้อมูลที่ช้าสวมชุดเว็บไซต์ การวิเคราะห์คิวรีช้าอย่างเป็นระบบ การบันทึก การรวบรวมตามผลกระทบทั้งหมด แผน EXPLAIN และการออกแบบดัชนี เปลี่ยนความช้าที่เป็นปริศนาให้เป็นรายการแก้ไขที่จัดอันดับพร้อมชัยชนะที่วัดได้หลังการเปลี่ยนแปลงทุกครั้ง
ประเด็นสำคัญ
- เปิดใช้การบันทึกคิวรีช้าและดัชนีที่ขาดหายด้วยเกณฑ์ long_query_time ที่สมเหตุสมผล
- รวบรวมด้วย pt-query-digest: จัดอันดับตามเวลาทั้งหมด ไม่ใช่คิวรีที่แย่ที่สุดเพียงคำเดียว
- อ่านผลลัพธ์ EXPLAIN อย่างถูกต้อง: ประเภทการเข้าถึง การใช้คีย์ แถวที่ตรวจสอบเทียบกับแถวที่ส่ง
- ออกแบบดัชนีครอบคลุมสำหรับเส้นทางที่ร้อน ลบดัชนีที่ซ้ำซ้อนและทับซ้อนกัน
- แก้ไขรูปแบบ N+1 ในรหัสแอปพลิเคชัน ไม่มีดัชนีใดช่วยลูปที่พูดมากได้
- กำหนดขนาดตารางชั่วคราว บัฟเฟอร์การต่อ และบัฟเฟูลแกน InnoDB จากหลักฐาน
- วัดผลคิวรีชั้นนำใหม่หลังการเปลี่ยนแปลงแต่ละครั้ง เก็บบันทึกประสิทธิภาพคิวรี
- กำหนดตารางการวิเคราะห์ซ้ำๆ การเติบโตของข้อมูลทำให้แผนเก่าล้าสมัยอย่างเงียบ ๆ
คำถามที่พบบ่อย
ทำไมเว็บไซต์ถึงช้าถ้า CPU ว่าง
การรอฐานข้อมูลคลาสสิก คิวรีต่อแถวขณะ CPU ว่าง บันทึกช้าเป็นหลักฐานภายในไม่กี่นาที
ปรับปรุงปกติเท่าไร
10-100x บนคิวรีที่แก้ไขเป็นเรื่องปกติ ทั้งเว็บไซต์ 2-5x หลังการวิเคราะห์ครบถ้วนเป็นเรื่องทั่วไป
การวิเคราะห์จะรบกวนการผลิตหรือไม่
ค่าใช้จ่ายในการบันทึกประมาณ 1% การวิเคราะห์เกิดขึ้นนอกระบบผลิตบนสำเนาบันทึก
Percona หรือ MariaDB ล่ะ
วิธีการเดียวกัน รายละเอียดตระหนักถึงเอนจิน เราปรับแต่ง MySQL, MariaDB, และ Percona Server
Kinetikatech ช่วยเรื่อง ประสิทธิภาพ ได้อย่างไร
นี่คือสิ่งที่เราทำทุกวัน: การปรับแต่งเซิร์ฟเวอร์ การเพิ่มความเร็วเว็บไซต์ การเพิ่มประสิทธิภาพฐานข้อมูลและ PHP แคชและ CDN Core Web Vitals และการเพิ่มประสิทธิภาพแบนด์วิดท์ บริการ การเพิ่มความเร็วเว็บไซต์และการจัดการเซิร์ฟเวอร์ ของเราดูแลครบวงจร ตั้งแต่ประเมิน ลงมือทำ ติดตาม 24 ชั่วโมง ไปจนถึงรับเรื่องฉุกเฉินภายใน 30 นาที