Magento залипла на реиндескации данных


Обратился ко мне человек с просьбой посмотреть что не так с сайтом. Говорит, что не работает.

Зашел в хостинг панель, вижу что сервер включен. Посмотрел доступные порты с помощью nmap - все нужные порты доступны. Главная страница сайта не открывается. Вернее открывается очень долго и безрезультатно, не выдавая никаких сообщений. При этом доступна админ панель magento.

Захожу и вижу такую картину:
Screenshot from 2014-08-13 14:43:24

Понимаю, что ре-индексация "Category Products" залочила базу.

С помощью stackoverflow.com и какой-то матери удалось вернуть сайт в наш мир.

Для начала останавливаю nginx и php-fpm.

Дальше подключаюсь к базе, которая вертится на амазоновском инстансе, к которому доступа нету, кроме как через mysql клиент. Ввожу:

SHOW ENGINE INNODB STATUS \G;

И вижу кучу, вернее бесконечную череду сообщений о всяких там процессах, которые выполняются или ждут выполнения. Нахожу сектор, похожий на :

---TRANSACTION 11357017, ACTIVE 6768 sec
MySQL thread id 5201363, OS thread handle 0x7f2982e91700, query id 882213399 xxxIPxxx xx.xx.xxx.x user cleaning up

И начинаю гасить все процессы, которые попались под руку командой KILL:

KILL 5201363;

После каждого KILL смотрю не изменилась ли картина с помощью:

SHOW ENGINE INNODB STATUS \G;

В какой-то момент она изменилась все-таки. Я вздохнул с облегчением и вернулся на сервер, где в свою очередь перешел в папку /var/www/magento_home/shell (у Вас она может отличаться) и запустил ре-индексацию всего с помощью следующей команды:

php indexer.php reindexall

В этом случае скрипт выполняется с помощью cli версии php и его можно обломать в любой момент.

К моему счастью все закончилось успешно и запустив nginx и php-fpm я увидел следующую картину в админке (Index management):
Screenshot from 2014-08-13 15:17:39

Сайт при этом стал доступен.

Share Button
(Visited 83 times, 1 visits today)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *