Обмен с 1С идёт слишком долго
Долгий обмен не просто неудобен: пока он идёт, сайт работает медленнее, а если выгрузка не успевает до утра, тормоза видят посетители.
Сначала измерить
В журнале обмена видно время каждого этапа — выгрузка типов цен, номенклатуры, остатков, картинок, индексация временных таблиц. Часто оказывается, что сам каталог приезжает за минуты, а часы уходят на картинки или на операции после загрузки.
Без этого замера оптимизация превращается в угадывание: люди месяцами сокращают шаг обмена, когда время съедает что-то другое.
Что обычно замедляет
| Причина | Что делать |
|---|---|
| Каждый раз выгружается весь каталог | Перейти на обмен по изменениям, полную оставить на случай сбоев |
| Картинки гоняются при каждом обмене | Выгружать принудительно только при первой загрузке и после массового обновления фото |
| Выгружаются все свойства номенклатуры | Оставить в правилах обмена только то, что используется на сайте |
| Регистр изменений переполнен | Разделить обмены: остатки отдельно от номенклатуры |
| После загрузки перестраивается поисковый индекс | Перенести индексацию на отдельное расписание |
| Обмен идёт в час пик | Тяжёлое ночью, днём только цены и остатки |
| Слишком мелкий шаг | Увеличить порцию: сотни шагов по одному товару дают лишние накладные расходы |
Разделить обмены — главный приём
Самое действенное — разнести данные по частоте:
- Остатки — часто, несколько раз в день: данных мало, обмен быстрый.
- Цены — по мере изменения, обычно раз в день.
- Номенклатура и свойства — раз в сутки ночью.
- Картинки — принудительной выгрузкой по необходимости.
- Полная выгрузка — вручную, в нерабочее время.
Так витрина всегда с актуальными остатками, а тяжёлая часть не мешает работе. Смешивание всего в одном расписании — причина половины жалоб на долгий обмен.
Когда дело не в обмене
Если выгрузка стала долгой внезапно, без роста каталога, смотрите сервер: свободное место, обслуживание базы, журналы, нагрузка от других процессов. Обмен — самая тяжёлая операция на сайте, поэтому он первым находит проблемы, которые в обычной работе незаметны.
Отдельно проверьте базу: на большом каталоге выгрузка упирается в неё, а не в PHP. Разбор медленного сайта целиком — в инструкции про то, что делать, если сайт тормозит.
Сколько это должно занимать
Ориентир по практике: обмен по изменениям на каталоге в десятки тысяч позиций укладывается в минуты, обновление остатков — в секунды, полная выгрузка с картинками может идти часами и делается разово. Если обмен по изменениям занимает час, проблема не в объёме данных, а в настройках или в сервере.
Частые вопросы
Поможет ли более мощный сервер?
Иногда да, но чаще это дорогой способ отложить решение. Если каждый раз выгружается весь каталог вместо изменений, сервер любой мощности будет занят часами.
С чего начинать ускорение?
С журнала обмена: там видно время каждого этапа. Часто каталог приезжает за минуты, а часы уходят на картинки или на перестроение индекса после загрузки. Без замера оптимизация превращается в угадывание.
Почему обмен тормозит сайт, если данные идут в фоне?
Он нагружает ту же базу, из которой сайт берёт каталог, и пересчитывает индексы. Поэтому долгий обмен в час пик видят посетители.
Сколько должен идти обмен?
По практике: обмен по изменениям на десятках тысяч позиций — минуты, обновление остатков — секунды, полная выгрузка с картинками — часы и разово. Если обмен по изменениям идёт час, дело в настройках или в сервере.
Можно ли просто запускать всё ночью?
Для полной выгрузки да. Но если за ночь она не успевает, утренняя нагрузка накладывается на незавершённый обмен, и тормозит уже для посетителей. Тогда нужно делить обмен по типам данных.