Lập chỉ mục và khóa tập tin


7

Đây là nhiều hơn một câu hỏi nghiên cứu - chúng tôi có một trang web đang gặp một số vấn đề thực sự với reindexing (30.000 sản phẩm). Bây giờ là lúc chúng ta gặp rất nhiều thời gian chờ và lỗi SQLSTATE - Lock wait timeout exceeded- vì vậy việc có thể lưu các thay đổi trong bảng quản trị là điều không thường xuyên.

Chúng tôi đang cố gắng xác định xem các chỉ mục cho biết họ vẫn đang chạy có thực sự làm như vậy không. Chúng tôi reindexed thông qua dòng lệnh php indexer.php --reindexall. Vài giờ sau, trong "Quản lý chỉ mục", Chỉ mục tìm kiếm vẫn cho biết Đang xử lý. Tất cả các chỉ mục khác đã kết thúc hoặc đang chờ xử lý nhưng không chạy. Vấn đề chính dường như là với các chỉ mục tìm kiếm.

Số lượng hàng trong catalogsearch_fulltextbảng DB không thay đổi - đây có phải là dấu hiệu cho thấy Chỉ mục tìm kiếm không thực sự vẫn đang chạy?

Trong var/locksthư mục, chúng tôi có các tệp sau:

index_process_1.lock
index_process_2.lock
index_process_3.lock
index_process_4.lock
index_process_5.lock
index_process_6.lock
index_process_7.lock
index_process_9.lock

Sự tồn tại của những tập tin này thực sự có ý nghĩa gì? Hiệu ứng nào sẽ xóa chúng có?

Để biết giá trị của chúng tôi, chúng tôi đang sử dụng mô-đun Mirasvit Advanced Search Pro sử dụng Sphinx. https://mirasvit.com/magento-extensions/magento-sphinx-search.html

Câu trả lời:


3

Tôi không chắc mô-đun Sphinx hoạt động như thế nào nhưng bạn có thể muốn đi vào mọi thuộc tính bạn đã thiết lập và đảm bảo rằng bạn không đặt bất kỳ thuộc tính không cần thiết nào được đưa vào tìm kiếm nhanh và / hoặc hiển thị cho giao diện, v.v.

*.lockcác tệp ở dạng đơn giản của chúng chỉ là một cách để theo dõi các quy trình đang chạy hiện có để mọi nỗ lực khác chạy trong khi một quy trình đang trong quá trình bị ngăn chặn. Nếu bạn biết không có quá trình nào đang chạy thì việc xóa các tệp này khi lập trình lại là an toàn, bất kỳ ngoại lệ nghiêm trọng nào cũng có thể khiến chúng tồn tại nhưng việc xem các tệp khóa là bình thường.

Nếu bạn đang sử dụng mô-đun của bên thứ 3 thì tôi sẽ nghi ngờ nguyên nhân tại sao bảng không bao giờ tăng kích thước. Bạn có thể muốn tiếp cận với các chủ sở hữu của mô-đun để hiểu rõ hơn vì có vẻ như phần lớn các vấn đề của bạn xuất phát từ nó.


Cảm ơn. Không có vấn đề cơ bản nào với mô-đun tìm kiếm theo như chúng tôi biết, trong đó Chỉ số tìm kiếm đôi khi kết thúc. Gần đây, chúng tôi đã thêm nhiều sản phẩm vào trang web và như thể đã đạt đến một điểm đột phá khi trang web không còn có thể đối phó với việc lập chỉ mục tìm kiếm. Chúng tôi đã thử xóa tất cả các thuộc tính có thể tìm kiếm mà chúng tôi có thể (hiện tại chúng tôi đang ở mức tối thiểu).
Sarah

Thật thú vị khi chỉ mục tìm kiếm cho biết việc xử lý không thể chạy truy vấn tìm kiếm trên trang web - chúng tôi nhận được trang Magento "Có lỗi". Bạn có quen thuộc với điều này không? Vấn đề dường như liên quan đến các truy vấn CHỌN trên bảng catalogsearch_query không hoàn thành.
Sarah

Có lẽ bảng cần được tối ưu hóa, đó là một trong số ít các bảng trong Magento là MyISAM. Kiểm tra cơ sở mã và hồ sơ github.com/fbrnc/Aoe_Profiler
B00mer

Nhiều hơn thế. Bạn sẽ không thể xóa các tập tin bị khóa.
dùng487772

1
Chúng tôi thực sự đã tối ưu hóa các bảng và cũng cắt bớt bảng catalogsearch_query và điều này đã đưa chỉ mục xuống ngay (15 phút để lập chỉ mục tìm kiếm). Chúng tôi đã tìm thấy một giao dịch UPDATE catalogsearch_query SET is_processed = 0bị đình trệ trong quá trình lập chỉ mục, ít nhất là trên một nỗ lực! Điều này đã giúp: magento.stackexchange.com/questions/34910/ Khăn
Sarah
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.