Chọn một giá trị cho Wait_timeout & Interactive_timeout trong cấu hình MySQL?


12

Chúng tôi có một máy chủ trực tiếp đang bị ảnh hưởng nặng nề vì vậy chúng tôi buộc phải tối ưu hóa mọi thứ có thể. Chúng tôi đã chạy tập lệnh MySQLTuner trên nó ( http://mysqltuner.com/ ) cho chúng tôi biết rằng chúng tôi nên đặt giá trị nhỏ hơn 28800 cho Wait_timeout & Interactive_timeout. Có rất nhiều con số có thể lựa chọn trong khoảng từ 1 đến 28800!

Tôi đã tìm hiểu ý nghĩa của các biến này trong tài liệu MySQL nhưng điều đó chỉ đưa ra một mô tả rất cơ bản và không có hướng dẫn chọn giá trị.

Có một giá trị được coi là một thực tiễn tốt nhất thường được chấp nhận? Và kết quả có thể là gì khi chọn một giá trị quá thấp?

Cảm ơn,

Bart.

Câu trả lời:


19

Wait_timeout là số giây trong khi không hoạt động mà MySQL sẽ đợi trước khi nó đóng kết nối trên kết nối không tương tác. Interactive_timeout là như nhau, nhưng đối với các phiên tương tác (shell mysql)

Đặt giá trị quá thấp có thể khiến các kết nối bị giảm đột ngột, đặc biệt nếu bạn đang sử dụng các kết nối liên tục trong ứng dụng web của mình.

Đặt giá trị quá cao có thể khiến các kết nối cũ vẫn mở, ngăn truy cập mới vào cơ sở dữ liệu.

IMO, đối với Wait_timeout, bạn sẽ muốn giá trị này càng thấp càng tốt mà không ảnh hưởng đến tính khả dụng và hiệu suất. Bạn có thể bắt đầu với 10 giây và tăng dần nếu bạn thấy hiệu suất bị suy giảm.

Đối với Interactive_timeout, việc thay đổi giá trị này sẽ không thực sự làm tăng hoặc giảm hiệu suất của ứng dụng của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.