การเลือกค่าสำหรับ wait_timeout & interactive_timeout ใน MySQL config หรือไม่


12

เรามีเซิร์ฟเวอร์สดที่ได้รับผลกระทบอย่างหนักดังนั้นเราจึงคาดว่าจะเพิ่มประสิทธิภาพทุกอย่างที่ทำได้ เรารันสคริปต์ MySQLTuner ที่มัน ( http://mysqltuner.com/ ) ซึ่งบอกเราว่าเราควรตั้งค่าน้อยกว่า 28800 สำหรับ wait_timeout & interactive_timeout มีตัวเลขที่เป็นไปได้มากมายให้เลือกตั้งแต่ 1 ถึง 28800!

ฉันค้นหาความหมายของตัวแปรเหล่านี้ในเอกสาร MySQL แต่นั่นให้คำอธิบายพื้นฐานอย่างเดียวเท่านั้นและไม่มีแนวทางในการเลือกค่า

มีค่าหรือไม่ที่ถือว่าเป็นแนวปฏิบัติที่ดีที่สุดที่ยอมรับโดยทั่วไป และอะไรคือผลลัพธ์ที่เป็นไปได้ของการเลือกค่าที่ต่ำเกินไป?

ขอบคุณ

บาร์ต

คำตอบ:


19

wait_timeout คือจำนวนวินาทีในระหว่างที่ไม่มีการใช้งานซึ่ง MySQL จะรอก่อนที่จะปิดการเชื่อมต่อในการเชื่อมต่อที่ไม่โต้ตอบ interactive_timeout เหมือนกัน แต่สำหรับเซสชันแบบโต้ตอบ (mysql shell)

การตั้งค่าต่ำเกินไปอาจทำให้การเชื่อมต่อลดลงโดยไม่คาดคิดโดยเฉพาะหากคุณใช้การเชื่อมต่อแบบต่อเนื่องในเว็บแอปพลิเคชันของคุณ

การตั้งค่าสูงเกินไปอาจทำให้การเชื่อมต่อเก่ายังคงเปิดอยู่ทำให้ไม่สามารถเข้าถึงฐานข้อมูลใหม่ได้

IMO สำหรับ wait_timeout คุณต้องการให้ค่านี้ต่ำที่สุดเท่าที่จะเป็นไปได้โดยไม่กระทบต่อความพร้อมใช้งานและประสิทธิภาพ คุณสามารถเริ่มต้นด้วย 10 วินาทีและค่อยๆเพิ่มขึ้นหากคุณเห็นประสิทธิภาพลดลง

สำหรับ interactive_timeout การเปลี่ยนแปลงค่านี้จะไม่เพิ่มหรือลดประสิทธิภาพของแอปพลิเคชันของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.