Enterprise_Vfresh_index Ngủ kết nối MySQL


8

Đôi khi, bộ chỉ mục được điều hành bởi cron dường như bị kẹt tại MySQL vì các kết nối Ngủ có thể được nhìn thấy. Indexer chạy trong vài giờ và điều này thực sự không chạy chút nào. Tôi đã tìm kiếm cái này nhưng tôi không thể tìm thấy bất kỳ liên quan. Bất cứ ai có thể làm sáng tỏ? Có thể cấu hình máy chủ hoặc lỗi Magento?

Câu trả lời:


0

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}

Thật không may, chúng tôi vẫn nhận được vấn đề này. Tôi chạy lệnh show full process và nó hiển thị một câu lệnh SQL rất dài với ID thực thể được liệt kê.
dùng1240207

0

cấu hình máy chủ mysql của bạn bằng cách đặt thời gian chờ ngắn hơn wait_timeoutinteractive_timeout

mysql hiển thị các biến như "%timeout%";

+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| connect_timeout          | 5     |
| delayed_insert_timeout   | 300   |
| innodb_lock_wait_timeout | 50    |
| interactive_timeout      | 28800 |
| net_read_timeout         | 30    |
| net_write_timeout        | 60    |
| slave_net_timeout        | 3600  |
| table_lock_wait_timeout  | 50    |
| wait_timeout             | 28800 |
+--------------------------+-------+
9 rows in set (0.00 sec)

Thiết lập với:

set global wait_timeout=3;
set global interactive_timeout=3;

(và cũng được đặt trong tệp cấu hình của bạn, khi máy chủ của bạn khởi động lại)

Nhưng bạn đang điều trị các triệu chứng thay vì nguyên nhân cơ bản - tại sao các kết nối mở? Nếu đoạn script PHP kết thúc, chúng có nên đóng không? Đảm bảo máy chủ web của bạn không sử dụng kết nối ...

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.