Bạn đang sử dụng các kết nối liên tục? Bạn có bao nhiêu kết nối giấc ngủ? Số lượng kết nối tối đa mà Máy chủ DB của bạn được cấu hình để cho phép là bao nhiêu?
Để kiểm tra có bao nhiêu kết nối ngủ bạn vừa chạy:
show full processlist;
Để xem max_connections chạy:
show variables like 'max_connections';
Tôi nghĩ rằng các kết nối ngủ không phải là vấn đề, mysqld sẽ hết thời gian kết nối ngủ dựa trên 2 giá trị:
Tương tác_timeout Wait_timetout
Cả hai đều là 28800 giây (8 giờ) theo mặc định.
Bạn có thể đặt các tùy chọn này trong my.cnf (vị trí của tệp này khác nhau trong các HĐH và DB khác nhau, percona, mysql, v.v.)
Đồng thời xem câu trả lời này từ Quản trị viên Cơ sở dữ liệu: https://dba.stackexchange.com/a/1559 và nếu bạn muốn biết thêm về cách gỡ lỗi nguồn gốc của các kết nối ngủ, hãy kiểm tra bài viết tuyệt vời này: https: // www. percona.com/blog/2007/02/08/debugging-s ngủing-linksections-with-mysql /
"Nếu các kết nối của bạn liên tục (được mở thông qua mysql_pconnect), bạn có thể hạ những con số này xuống mức hợp lý như 600 (10 phút) hoặc thậm chí 60 (1 phút). Hoặc, nếu ứng dụng của bạn hoạt động tốt, bạn có thể để mặc định. tùy bạn
Hãy thử chạy bộ chỉ mục từ bàn điều khiển để xem nó có xuất ra một số lỗi không:
php shell/indexer info # this will output the list of indexes then
php shell/indexer --reindex {index_name}