Комментарии
comments powered by HyperComments
'yenisite:disqus' is not a component
Техническая поддержка битрикс-проекта
У меня есть сайт, нужно, чтобы он нормально работал
Чаще всего обращаются за техподдержкой именно с такой формулировкой.
Из-за особенностей разработки и сопровождения, в проектах постепенно накапливаются технические проблемы, которые, начинают вредить работе, мешать покупателям, снижать прибыльность.
И когда потери начинают превышать возможную стоимость техподдержки, клиент приходит к нам.
Разберем стандартный кейс поддержки сайтов на битрикс на примере проекта bytzapchast.ru
Проблемы
- При обмене с 1С не всегда приходят новые разделы/товары
- Периодически на сайте какие-то разделы оказываются в корне сайта
- Не создаются резервные копии
- Иногда сайт выпадает SQL ошибку «Got error 28 from storage engine» - чаще на выходных
- Сайт открывается 5-6 секунд, иногда не открывается вовсе
- SEO теги и тексты некорректно подтягиваются к разделам
Поехали решать
При обмене с 1С не всегда приходят новые разделы/товары
Далеко не все проблемы можно отследить сразу. Например, обмен с 1С запускается автоматически с определенной периодичностью. Так же и резервное копирование. И нужно некоторое время наблюдать за ним, чтобы собрать проблемы и решения.
В этом нам помогут логи.
Логирование обмена с 1С и сохранение всех файлов обмена включается константой define("BX_CATALOG_IMPORT_1C_PRESERVE", true); в файле dbconn.php
Теперь по прошествии некоторого времени, мы всегда можем отследить, что именно происходило в обмене и каков результат.
Обмен с 1С был реализован в двух режимах
- Постоянный с периодичностью в 5 минут обмен изменениями
- И постоянный же, с периодичностью в сутки обмен полным каталогом (около 10 000 товаров)
Первый оперативно передавал на сайт изменения цен и остатков, корректировки в товарах.
Второй отвечал за удаление выводимых с сайта товаров (функция «деактивировать товары, не попавшие в выгрузку»).
Сразу отследили ряд проблем.
Первое - 1С не регистрировал изменения в товарах. То есть изменение цены или наличия приводило к попаданию товара в обмен. А например, переименование или перемещение в другой раздел - нет.
Исправили при помощи 1С специалиста
При полном обмене каталога иногда происходил сбой из-за высокой нагрузки на сервер. При этом не все товары успевали догрузиться.
Перенастроили систему на отправку более мелкими пакетами с большими паузами - проблема исчезла.
Периодически на сайте какие-то разделы оказываются в корне сайта
Имея копии выгрузки за период времени, мы легко заметили, что данные передаются корректно, а сайт генерирует сбои при их обработке. Залезли в код событий, оставленный предыдущими разработчиками, нашли ошибку, приводящую к «выбрасыванию» некоторых разделов в корень сайта.
Не создаются резервные копии
Битрикс - одна из немногих систем, которая умеет упаковывать сама себя в архив и помещать «в облаке» для надежного хранения. Удалить бекап оттуда нельзя, так что даже есть ваш админ взбунтуется и снесет сайт со всеми локальными копиями, ваш бекап не пострадает.
Но для надежной работы, PHP на сервере должен иметь доступ ко всем файлам сайта. В нашем случае это было не так. И как итог, система начинала резервное копирование, доходила до файла с проблемным доступом и останавливалась. Выдавала ошибку и начинала заново. А на сервере появлялись «заготовки» резервных копий.
Когда этих заготовок накапливалось больше сотни, сервер забивался и приводил к ошибке: «Get error XX from storage engine»
Поправили доступ и решили проблему и с резервированием и с местом на сервере одновременно.
Сайт открывается 5-6 секунд (страницы брендов до 20 секунд), иногда не открывается вовсе
Вот это тема отдельной статьи. Как мы ускорили сайт в 10 раз, не меняя сервера, читайте в отдельной статье https://iarga.ru/article/bitrix-go-fast/
SEO теги и тексты некорректно подтягиваются к разделам
Это было довольно сложно. В сайте сложная логика генерирования SEO заголовков с поддоменами по городам, брендами из фильтров и текстами.
Логику разобрали, код переработали. Проблема больше не наблюдается.
Суммарно время на решение задачи около 3 недель. После этого можно зафиксировать корректную работу сайта, создать тестовую среду для отладки и осторожно начинать принимать на оценку задачи.
Читайте так же
-
Обмен сайта на Битрикс с 1С: решение основных проблем
В этой статье мы собрали основные проблемы обмена с 1с и простые чек-листы по их решению
Стать… -
Свинья на реактивном приводе
Ускоряем Битрикс адекватными и неадекватными методами.
-
Ускорение высоко и средне нагруженных сайтов на Битрикс
Не справившись со отладкой производительности битрикс-сайта, программисты чаще всего обвиняют во все…
-
В эфир из Стратосферы: прямые эфиры с ведущими диджитал компаниями
10.06.2020 Артем Дегтярев и Евгений Пятопал, Dunice
10.06.2020 Макс Десятых, Redmadrobot
…