ตรวจสอบค่าของ innodb_thread_concurrency
สำหรับระบบของฉันเพิ่มค่าจาก 8 เป็น 32 ตามแนวทางในเอกสาร MySqlทำให้จำนวนเธรดลดลงที่สามารถมองเห็นได้พร้อมกันรายงานสถานะ "รายการที่พ้น" นอกจากนี้เวลาสอบถามเฉลี่ย obesrved ลดลงตามลำดับความสำคัญ
ในขณะที่สิ่งนี้สร้างความแตกต่างอย่างมากในประสิทธิภาพการทำงานของเซิร์ฟเวอร์โดยรวม แต่มันไม่ใช่ bullet เงิน ระบบนิเวศฮาร์ดแวร์ของฉันทำให้ฉันตั้งสมมติฐานว่าสถานะนี้ส่วนใหญ่จะเห็นในระบบที่มีดิสก์ "ช้า" (2x10k ดิสก์โจมตี 1) และเป็นที่แพร่หลายน้อยกว่าในระบบที่มีการจัดเก็บข้อมูลได้เร็วขึ้น (12x15k ดิสก์บุก 10) ดังนั้นจึงควรตรวจสอบประสิทธิภาพของดิสก์ด้วย
โชคดี!
นอกจากนี้:
เป็นที่น่าสังเกตว่าค่าเริ่มต้นของ innodb_thread_concurrency นั้นแตกต่างกันอย่างสิ้นเชิงทั้งนี้ขึ้นอยู่กับการใช้งาน 5.0 point release
ค่าเริ่มต้นมีการเปลี่ยนแปลงหลายครั้ง: 8 ก่อน MySQL 5.0.8, 20 (ไม่มีที่สิ้นสุด) จาก 5.0.8 ถึง 5.0.18, 0 (ไม่มีที่สิ้นสุด) จาก 5.0.19 เป็น 5.0.20 และ 8 (จำกัด ) จาก 5.0.21 บน. - แหล่งที่มา
ซึ่งหมายความว่าการอัปเกรดไร้เดียงสาที่ดูเหมือนจะไร้สาระจาก 5.0.20 เป็น 5.0.21 เปลี่ยนค่าเริ่มต้นจากไม่มีที่สิ้นสุดเป็น 8 และนำมาซึ่งการกระจายของประสิทธิภาพ