Долгая загрузка сайта при открытии каталога на Bitrix

By | 20/11/2014

Забегая вперед, – проблема решилась отключением в MySQL пары опций.

Решение:

Предистория

Однажды случилась такая вещь, что одна крупная студия по разработке сайтов сделала интернет-магазин на CMS 1С-Битрикс для другой крупной компании. Сайт успешно перенесся на сервер заказчика. При этом оптимизировали как сам сервер, так и настройки сайта. Не смотря на нагрузку порядка 1000 уников в сутки, сайт просто летал.

Сервер был довольно мощный, – 6 ядерный Intel Xeon E5-2430 с 32 гигабайтами оперативы на борту и консольной версией операционной системы Ubuntu 12.04. Из программного обеспечения стояла связка Nginx + php5-fpm и база данных mysql 5.5.

Однако оказалось не все так гладко и в последствии выяснилось, что при открытии страницы, где выводился полный список каталога товаров (их было порядка 3000 тысяч с выводом по 20 штук на страницу) он впадает в ступор, пытаясь что-то долго загрузить. Когда были убраны в настройках все лимиты таймаутов, каталог все-таки появлялся спустя 5-10 минут. И так при попытке открытия каждой страницы, чтобы отобразить очередные 20 товаров из каталога.

Проблема сразу же была передана студии, которая занималась разработкой сайта. Через 3 дня они как-то временно решили ее, но проблема всплыла опять через неделю. В итоге они отказались этим заниматься, свалив все на нас (клиента) который якобы уже залез в “их” код и немного его изменил.

Ну чтож, включив в битриксе лог запросов, стало видно, что нормальной работе сайта мешал запрос, который собственно и выводил каталог. Чтобы отсечь влияние другого ПО, этот запрос был выдернут и запихан на исполнение напрямую в базу. Время ожидания было такое же. Т.е. очевидно была проблема с MySQL. Перекопав настройки и испробовав различные конфигурации MySQL и было найдено решение. В нашем случае это полностью решило проблему и не повлияло на остальную производительность.

  • http://impel.pro Vyacheslav Vasyutkin

    Добрый день, не могли бы подробнее описать решение проблемы.