Имя: Пароль:
1C
1С v8
Обмен УТ 11.3 с Битрикс.
0 progaoff
 
15.10.18
12:18
Добрый день, может кто сталкивался с очень долгой выгрузкой товаров в CMS Битрикс. Сейчас у меня товаров порядка 7000, к ним подгружаются еще и предложения, там записей порядка 42000К, обмен с сайтом проходит больше чем за сутки. С какой стороны может быть косяк?
1 Cool_Profi
 
15.10.18
12:20
Со стороны погроммиста, разумеется
Хотя... 42 миллиона записей...
2 progaoff
 
15.10.18
12:26
(1) 42тысячи
3 VS-1976
 
15.10.18
12:28
(0) Выгружается в формате UTF, а база может быть в формате windows-1251. Может перекодирование строк идёт?
4 progaoff
 
15.10.18
12:37
(3) MySQL?
5 VS-1976
 
15.10.18
12:43
(4) Ну да
6 Cool_Profi
 
15.10.18
12:47
(2) 42тысячи - это вообще ни о чём. Руки отрывать надо.
7 progaoff
 
15.10.18
12:52
(5) UTF
8 progaoff
 
15.10.18
12:53
(6) Предлагаю тебе эти и заняться, я думаю что с этой проблемой сталкивался не только я. А модуль для обмена я использую стандартный битриксовый
9 VS-1976
 
15.10.18
13:04
(8) bitrix под linux? Стоит на VPS или по другому?
10 progaoff
 
15.10.18
13:09
(9) На VPS
11 Cool_Profi
 
15.10.18
13:10
(8) У тебя денег не хватит, чтобы я этим занялся.
12 progaoff
 
15.10.18
13:12
(11) Тогда просто не флуди.
13 VS-1976
 
15.10.18
13:29
(10)
1. У тебя регламент на crontab?
2. Посмотри что в top если есть php, то посмотри ps ax | grep php ( твой ли скрипт загрузки работает ) Может быть несколько импортов уже параллельно запущены... Если что можно будет их грохнуть kill -9 pid
Попробуй сделать резервное копирование, что бы оценить скорость выгрузки с базы ( когда регламент не работает ).
3. Попробуй рестануть httpd ( service httpd restart )
14 stopa85
 
15.10.18
13:39
Для начала нужно провести исследование что тупит. Сайт или 1С-ка или что еще.

А то может это 1Ска 24часа файлы формирует или там картинок на гигабайт, да по каналу 2мбита качается.
15 VS-1976
 
15.10.18
13:42
(14) Битрикс при обновлении товара так же вроде как пересоздаёт кэш картинок... Вообще по хорошему картинки не нужно таскать, а лучше их грузить в товар через админку...
16 Лодырь
 
15.10.18
13:49
(8) Использую стандартный обмен, таких проблем вроде нет.
Другой вопрос - нафига тебе обновлять сразу все предложения? Выгружай изменения.
17 progaoff
 
15.10.18
14:03
(16) Так и делаю, картинки я не выгружаю, они у меня скриптом на хостинге тянутся
18 progaoff
 
15.10.18
14:04
(16) Только по мне так, что есть изменение что нет, он берет все, что указано в отборе
19 progaoff
 
15.10.18
14:05
(14) Даже от остатков пришлось отказаться на время
20 progaoff
 
15.10.18
14:08
15.10.2018 13:25:39--Выгрузка товаров в XML завершено. Выгружено 6 822 элементов.
После этого идет обработка этих элементов, и она занимает больше часа.
21 Лодырь
 
15.10.18
14:13
(20) Засеку вечером время выгрузки, сверим показания.
22 progaoff
 
15.10.18
14:13
(20) 15.10.2018 14:27:55--Выгрузка предложений в XML завершено. Выгружено 43 218 предложений.
После выгрузки, обрабатывает предложения.
23 progaoff
 
15.10.18
14:14
(22) И тут уже залипалово конкретное
24 Лодырь
 
15.10.18
14:14
(23) Ну тогда логично рассуждая, разбив общую выгрузку на части ты сэкономишь кучу времени.
25 yzimin
 
15.10.18
14:15
Ставь модуль от битрикса, он умеет порциями грузить на сайт.
26 VS-1976
 
15.10.18
14:16
(23) ну предложения это характеристики и там ещё свойства 43 218 * на свойства
27 XMMS
 
15.10.18
14:21
Выгрузите в файлы локальные из 1С и посмотрите, сколько занимает по времени чисто работа 1С.
Далее делаем выводы.
Запросто может быть дешевый тариф VPS, который упирается в лимит нагрузки.
28 VS-1976
 
15.10.18
14:21
У тебя что в настройках стоит - Магазин \ интеграция с 1С на вкладке "Экспорт каталога" есть поле Интервал одного шага в секундах (0 - выполнять загрузку за один шаг):

Если стоит 0 то поставь 30 к примеру...
29 progaoff
 
15.10.18
14:22
(28) вот этого не проверял
30 progaoff
 
15.10.18
14:23
(28) 30 стоит
31 VS-1976
 
15.10.18
14:24
(29) Там если 1 шаг ( значение 0 ), то там и память жрёт как не в себя. Система может своповать по жёсткой
32 progaoff
 
15.10.18
14:25
(31) Я не могу открыть каталог с предложениями)
33 progaoff
 
15.10.18
14:25
(31) 1 стоит
34 VS-1976
 
15.10.18
14:27
(33) поставь значение 30
Ещё может быть у тебя очень много неактивных старых элементов. По хорошему нужно их удалить... Это должно серьёзно ускорить. Так же пересоздать индексы
35 progaoff
 
15.10.18
14:28
Количество элементов выгружаемых за один шаг (0 - выполнять выгрузку за один шаг): - Сюда 30?
36 VS-1976
 
15.10.18
14:30
(35) да
37 VS-1976
 
15.10.18
14:30
(35) Точнее ниже загрузку
38 VS-1976
 
15.10.18
14:30
(37) Интервал одного шага в секундах (0 - выполнять загрузку за один шаг):    30
39 VS-1976
 
15.10.18
14:36
Посмотри есть ли неактивный товар? В Контент \ Каталоги посмотри используемый инфоблок для торгового каталога.
Там сделай фильтр на:

Раздел: Любой
Активность: Нет

Удали все неактивные ( если конечно они никогда не будут использоваться и не сохраняется история по старому товару )

Прежде чем делать сделай копию сайта с сохранением статистики.

Можно перед этим удалением попробовать оптимизировать базу

Настройки \ Оптимизация БД и кнопка Оптимизировать

PS: Разумеется копия в этому случае обязательна, мало ли чего не так пойдёт...
40 progaoff
 
15.10.18
14:42
(38) он у меня 30 сейчас.
41 progaoff
 
15.10.18
14:43
(39) много очень его
42 progaoff
 
15.10.18
14:46
(41) но там полной уверенности что он не будет использоваться-нет
43 VS-1976
 
15.10.18
14:56
(42) Ну перегрузится заново если что. Дело в том что сравнение идёт с полным списком и чем список больше тем дольше процесс... Сделай копию, и грохни :)
44 progaoff
 
15.10.18
15:28
(43) пипец, дает только по одному каталогу удалять
45 progaoff
 
15.10.18
15:55
(43) и еще один маленький нюанс
offers___21b9fe98-a5d7-43e0-ac92-a4d567660a22.xml: Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Ответ сервера:
<pre>[Bitrix\Main\DB\SqlQueryException]
Mysql query error: (1205) Lock wait timeout exceeded; try restarting transaction (400)
DELETE FROM b_cache_tag  WHERE TAG = 'iblock_id_28'
/home/c/calipsopro/calipsoshoes.ru/public_html/bitrix/modules/main/lib/db/mysqliconnection.php:137
#0: Bitrix\Main\DB\MysqliConnection-&gt;queryInternal(string, array, NULL)
    /home/c/calipsopro/calipsoshoes.ru/public_html/bitrix/modules/main/lib/db/connection.php:329
#1: Bitrix\Main\DB\Connection-&gt;query(string, NULL)
    /home/c/calipsopro/calipsoshoes.ru/public_html/bitrix/modules/main/lib/db/connection.php:378
#2: Bitrix\Main\DB\Connection-&gt;queryExecute(string)
    /home/c/calipsopro/calipsoshoes.ru/public_html/bitrix/modules/main/lib/data/taggedcache.php:162
#3: Bitrix\Main\Data\TaggedCache-&gt;clearByTag(string)
    /home/c/calipsopro/calipsoshoes.ru/public_html/bitrix/modules/main/classes/general/cache.php:487
#4: CCacheManager-&gt;ClearByTag(string)
    /home/c/calipsopro/calipsoshoes.ru/public_html/bitrix/modules/iblock/classes/general/iblock.php:3910
#5: CAllIBlock::clearIblockTagCache(integer)
    /home/c/calipsopro/calipsoshoes.ru/public_html/bitrix/modules/iblock/classes/mysql/iblockelement.php:1658
#6: CIBlockElement-&gt;Update(integer, array, boolean, boolean, boolean)
    /home/c/calipsopro/calipsoshoes.ru/public_html/local/modules/likee.site/lib/cmlimport.php:671
#7: Likee\Site\CMLImport-&gt;ImportElement(array, array, boolean, array)
    /home/c/calipsopro/calipsoshoes.ru/public_html/bitrix/modules/iblock/classes/general/cml2.php:2511
#8: CIBlockCMLImport-&gt;ImportElements(integer, integer)
    /home/c/calipsopro/calipsoshoes.ru/public_html/local/components/likee/catalog.import.1c/component.php:529
#9: include(string)
    /home/c/calipsopro/calipsoshoes.ru/public_html/bitrix/modules/main/classes/general/component.php:594
#10: CBitrixComponent-&gt;__includeComponent()
    /home/c/calipsopro/calipsoshoes.ru/public_html/bitrix/modules/main/classes/general/component.php:102
#11: CBitrixComponent-&gt;executeComponent()
    /home/c/calipsopro/calipsoshoes.ru/public_html/bitrix/modules/main/classes/general/component.php:638
#12: CBitrixComponent-&gt;includeComponent(string, array, NULL)
    /home/c/calipsopro/calipsoshoes.ru/public_html/bitrix/modules/main/classes/general/main.php:1041
#13: CAllMain-&gt;IncludeComponent(string, string, array)
    /home/c/calipsopro/calipsoshoes.ru/public_html/local/scripts/1c_exchange.php:82
</pre>
46 VS-1976
 
15.10.18
16:06
(45) Не удалось обновить... Когда удаляешь не обновляй. Выключи регламент обновления
47 progaoff
 
15.10.18
16:07
(46) На стороне сайта?
48 VS-1976
 
15.10.18
16:10
(47) Со стороны 1С скорее всего. Регламент. Он по идее может дёргать обновление.

Lock wait timeout эта ошибка возникает, когда время выполнения запроса истекает. Типа за время не успел выполниться. Возможно блокировки. Удаляй мелкими порциями
49 progaoff
 
15.10.18
16:16
(48) нет регламента
50 VS-1976
 
15.10.18
16:38
(49) тогда грохай меньшими порциями
51 Maniac
 
15.10.18
16:38
Знаю обмен который за секунды грузит 100к
52 Maniac
 
15.10.18
16:39
в маркет плейс качаешь любой загрузчик который мсожет грузить файлы. проверено что они за секунды молотят. по сравнению с обменом 1С
53 VS-1976
 
15.10.18
16:42
(52) Не сравнивай bitrix с маркетом... В загрузчике битрикса ( ядро ) там такая абстракция...
54 progaoff
 
15.10.18
17:12
(52) не продвинутый обмен?
55 Nyoko
 
15.10.18
18:46
сделай свой веб сервис на стороне веб сайта, грузи туда только цену или только товар если он меняется. как всегда в 1с с оптимизацией ресурсов полный стековерфлов
грузится всегда всё что надо и не надо...