Имя: Пароль:
1C
1С v8
Медленный обмен в РИБ
, , ,
0 Tester
 
06.09.17
15:58
Всем привет.
Становится невозможно работать в РИБ.
Пытаюсь как-то повысить производительность.
Провел расходную накладную в периферийной базе - к выгрузке зарегистрировался 1 документ и 1 нз регистра (http://s019.radikal.ru/i615/1709/08/1c968ec5708b.png).
Делаю обмен в периферии с центром и замеряю (http://s02.radikal.ru/i175/1709/96/bc54086f8356.png).
Файл обмена всего 21 килобайт (http://s019.radikal.ru/i612/1709/49/246dab54f80b.png).
Делаю обмен в центре с периферией и замеряю (http://s46.radikal.ru/i111/1709/65/72e01f67bf90.png).

Это вообще нормально генерировать и обрабатывать xml-файл в 21 килобайт 20 секунд? Есть ли какие пути увеличения производительности?
1 Heckfy
 
06.09.17
16:01
Мало инфы.Загрузка аппаратных мощностей в этом момент какая? Куда файл обмена кладете? Может диски очередями забиты или, если по сети, то сеть перегружена.
2 mistеr
 
06.09.17
16:06
(0) Обмен через FTP или как?
3 Tester
 
06.09.17
16:22
Долго выполняется
ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения, чРазмерТранзакции);
где чРазмерТранзакции = 0, а ЗаписьСообщения формируется как:
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(стрИмяФайла);
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьСообщения.НачатьЗапись(ЗаписьXML, поУзел.Ссылка);

стрИмяФайла = "C:\Users\Administrator\AppData\Local\Temp\MSG_11118_1_00000000000000000000000000000000002627.xml"
на машине где Кластер серверов, обмены делаю с другого сервака.

Сейчас перемеряю на машине где сам Кластер находится.
4 Tester
 
06.09.17
16:39
Все, замеры на одном серваке, где стоит кластер серверов и работаю в клиентах показали такие же результаты.
(2) Обмен через файл на диске.
(1) Кластер серверов и клиенты на 1-м серваке, кладу файл сюда же на диск С:, сеть не причем поидее. Пока грешим на дисковую систему, в планах есть переход на SSD.
Но это же нереально 20 кбайт обрабатывать 20 секунд!
5 Heckfy
 
06.09.17
16:42
(4) Там цифры можно конкретные посмотреть. Если у тебя очередь диска 20, то ничего удивительного.
6 Tester
 
06.09.17
16:44
7 Heckfy
 
06.09.17
16:46
(6) Вот вот, именно на этой форточке есть кнопка посередине внизу "Resource Monitor ...". Вот нажимай ее. А там уже и до статистики по дискам доберешься.
8 Tester
 
06.09.17
16:53
Момент выполнения метода ЗаписатьИзменения (http://s61.radikal.ru/i174/1709/69/22d49879e797.png)

Не особо умею мониторить, но на сколько понял высокой загрузки дисков тоже нет.
9 Heckfy
 
06.09.17
16:56
Уже почти добрался. :)
Заходи на вкладку "Диск". Разворачивай окна. Самое нижнее "Запоминающие устройства". Последний столбец "Длина очереди"
ЗЫ: На английский сам переведи ладно.
10 Tester
 
06.09.17
17:01
(9) Спасибо )
Но больше 0.06 не прыгало в момент выполнения метода.

Еще серваки виртуальные, админы разворачивают. Думаю это тоже частично влияет, но не на столько же...
11 Heckfy
 
06.09.17
17:03
(10) Может у тебя хостовые машины еле шевелятся. Надо там смотреть.
12 Heckfy
 
06.09.17
17:05
Надо тебе с админами кооперироваться. Ты у себя время формирования файла смотри, а админы пусть у себя профайлерами статистику собирают.
13 piter3
 
06.09.17
17:07
А все остальные операции летают?Только обмен проблемный?
14 Timon1405
 
06.09.17
17:15
из очевидного: вечером выгоните пользователей и проведите повторный обмен - станет понятно проблема это параллельности или производительности
15 Ёпрст
 
06.09.17
17:52
(0)  а чего за конфа ? Где все модули через Ом начинаютя?
16 mistеr
 
06.09.17
20:41
Не открывается у меня Радикал. Но если загрузка CPU высокая (одно ядро на 100%), то это настройки виртуалки (мало выделили ресурсов и т.д.). Если низкая, то блокировки в базе.


Ну и стандартный вопрос: после чего начались проблемы?
17 Ranger_83
 
06.09.17
20:47
А какой смысл тестировать на 1 документе,не понимаю...
Там только на накладные расходы может все уходить типа заархивировать/разархивировать сообщение.
Попробуй в настройках обмена отключить сжатие сообщений
18 assasu
 
07.09.17
06:46
(0) у тебя  79% времени выполняется запись изменений плана обмена.
я думаю в базе куча не используемых узлов и соответственно куча записей для регистрации
19 Tester
 
07.09.17
08:44
(13) Критичен только обмен, остальное работает терпимо.
(14) Тестирую в 2-х тестовых базах только под 1 юзером.
(15) Не важно :) Мало распространенная с доработками.
(16) Когда количество узлов перевалило за 15.
(18) Около 20 узлов в РИБ, все рабочие и регулярно делают обмены. Чет мне кажется дело в 1С и большом количестве узлов.
20 Ёпрст
 
07.09.17
09:35
(19) количество узлов никак не влияет на обмен.
Возьмите с типовой последние обработки для обмена и общие модули.
21 Tester
 
07.09.17
09:38
(20) Ну да, в периферии то всего 2 узла. Типовой, как таковой, и нету у данной конфы, поэтому не возьму.
Пытаюсь разобраться почему медленно выполняется 1 строка кода. За ночь сделалось ТИИ в обоих базах, после этого скорость не увеличилась.
22 Ёпрст
 
07.09.17
09:42
(21) возьмите любую типовую конфу и оттуда общие модули и обработки для обмена. Они универсальные и одинаковые.
23 Tester
 
08.09.17
14:32
Сегодня обмены колом стали из-за блокировок. Пришлось всех кикать и делать монопольно самому.
Вот такая красота при замере (http://s014.radikal.ru/i326/1709/ae/9fa81488392d.png).

Если дальше запросы и т.п. я могу оптимизировать, то эти 2 строки кода нет :(
24 Heckfy
 
08.09.17
14:34
Статистика хостовых машин в это время что показывает? Статистика самих виртуалок в это время что показывает?
ЗЫ: Может антивирус активно мешает?
25 Ёпрст
 
08.09.17
14:46
(23) Поставь в настройках, количество элементов в транзакции при загрузке = 1.
26 Ёпрст
 
08.09.17
14:46
аналогично, при выгрузке.
27 Ёпрст
 
08.09.17
14:47
сейчас у тебя, видать 0 стоит и он всё в одну большую транзакцию пихает
28 Tester
 
08.09.17
14:50
(24) С админами надо проверить будет, пока нет возможности. (25) Пробовал в тестовой базе ставить 1 и не понял на что влияет. Для выгрузки был 1 документ и 1 нз регистра, все равно одним пакетом все выгрузил. Но все равно спс, надо попробовать будет нормально протестить.

Уже идея возникла на автономной машине развернуть центр и 1 периферию и сделать замеры, чтобы понять в железе дело или нет.
29 Ёпрст
 
08.09.17
15:23
(28) пакет и будет один, просто его формирование будет быстрее
30 mistеr
 
09.09.17
18:44
(20) >количество узлов никак не влияет на обмен

Еще как влияет. Для каждого нужно зарегистрировать изменение, для каждого проставить номер, для каждого очистить регистрацию. И это все *для каждого элемента*.

Сейчас кто-то должен дать классическую ссылку на ИТС про обмен и блокировки. Мне лень искать.
31 mistеr
 
09.09.17
18:47
Вот: https://its.1c.ru/db/metod8dev/content/2274/hdoc

(Слава встроенному поиску в Firefox.)
32 Tester
 
12.09.17
11:57
(31) Спасибо за ссылку, но уже читал статью. Пока боремся, но проблема достигла критической точки :(
33 Timon1405
 
12.09.17
12:02
не реклама, но, вроде, хвалят
http://www.softpoint.ru/solutions/db-replication/
34 Tester
 
12.09.17
12:28
(33) У нас ничего не хвалят ) Все системы кривые, если их не оттестировало пару млн человек, что в сфере решений 1С нереально...
35 Галахад
 
гуру
12.09.17
12:44
(25) + 1.
36 Tester
 
12.09.17
13:30
(35) Спс, уже тестируем.
37 Tester
 
12.09.17
15:47
Небольшой тестик сделал. Одна и та же база в файловом и серверном варианте:
http://s48.radikal.ru/i119/1709/aa/bc456385b6bb.png
http://s019.radikal.ru/i627/1709/23/1e9f65ec071e.png
38 Digger
 
12.09.17
15:51
(37)  Файловая база это на локальной машине или все на том же виртуальном сервере?
39 Tester
 
12.09.17
16:12
(38) На том же виртуальном сервере, где и кластер серверов.
40 Digger
 
12.09.17
16:53
(39)  А локально что с быстродействием?   Есть все таки подозрение,  что ваша виртуалка слишком долго думает чтобы выделить ресурсы вашему "быстрому" процессу. )
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан