|
Влияние интерфейса пользователя на производительность? | ☑ | ||
---|---|---|---|---|
0
H A D G E H O G s
18.01.22
✎
11:50
|
Дня доброго.
Прошу меня проверить и скачать эту почти пустую конфу: https://disk.yandex.ru/d/XNHXmKveZx32kA развернуть ее в клиент-серверном варианте, в котором установлен COM-Connector и нажать последовательно кнопки - Вызов напрямую - Вызов через соединение и прислать сюда то, что напишет в окне сообщений 1С. По моим данным - производительность через COM-Connector в 3-4 раза выше. |
|||
1
pechkin
18.01.22
✎
12:08
|
а подробней?
|
|||
2
lodger
18.01.22
✎
12:16
|
Вызов напрямую это как и куда?
|
|||
3
Dmitrii
гуру
18.01.22
✎
12:19
|
Файловый вариант (на локальном компе).
- Вызов напрямую. Коротких вызовов : 231, размер пакета 36, всего данных 8 316 Длинных вызовов : 19, размер пакета 36 000, всего данных 684 000 - Вызов через соединение. Коротких вызовов : 66 666, размер пакета 36, всего данных 2 399 976 Длинных вызовов : 2 479, размер пакета 36 000, всего данных 89 244 000 Клиент-сервер. - Вызов напрямую. Коротких вызовов : 284, размер пакета 36, всего данных 10 224 Длинных вызовов : 25, размер пакета 36 000, всего данных 900 000 - Вызов через соединение. Коротких вызовов : 211, размер пакета 36, всего данных 7 596 Длинных вызовов : 71, размер пакета 36 000, всего данных 2 556 000 |
|||
4
pechkin
18.01.22
✎
12:20
|
майнишь на 1ске?
|
|||
5
H A D G E H O G s
18.01.22
✎
12:29
|
Нет, просто наткнулся на странную вещь.
Если, кстати, поместить код в ПриНачалеРаботыСистемы() скорость прямого вызова возрастает в 2 раза. Но если в обработчик ожидания через 5 секунд (просто через какое-то время после загрузки интерфейса 1С) - скорость возвращается к исходной. Подозреваю, что это обработка клавиш пользователя, CTRL+Break, но почему она такая монструозная? |
|||
6
lodger
18.01.22
✎
12:34
|
так это может разница модулей клиента и ВнешнегоСоединения?
|
|||
7
Kassern
18.01.22
✎
12:51
|
(0) Клиент-сервер.
На прямую: Длинных вызовов : 37, размер пакета 36 000, всего данных 1 332 000 Коротких вызовов : 447, размер пакета 36, всего данных 16 092 Через соединение: Длинных вызовов : 140, размер пакета 36 000, всего данных 5 040 000 Коротких вызовов : 851, размер пакета 36, всего данных 30 636 |
|||
8
Kassern
18.01.22
✎
12:52
|
(0) "COM-Connector в 3-4 раза выше" не заметил, по данной обработке, наоборот показалось выполнение дольше
|
|||
9
H A D G E H O G s
18.01.22
✎
13:11
|
(8) ну судя по (7) - выше у Com в 2-3 раза
|
|||
10
Kassern
18.01.22
✎
13:13
|
(9) а вы учитываете время на сам коннект?
|
|||
11
Kassern
18.01.22
✎
13:18
|
(9) реально 12сек против 9с секунд ком соединения. В моем случае 3-4раза не чувствуется)
|
|||
12
H A D G E H O G s
18.01.22
✎
13:19
|
(10) нет конечно.
|
|||
13
Мультук
гуру
18.01.22
✎
13:45
|
(11) В его тесте время - фиксировано
|
|||
14
Fragster
гуру
18.01.22
✎
14:05
|
(2) ПриНачалеРаботыСистемы происходит когда окна на экране нет
|
|||
15
Fragster
гуру
18.01.22
✎
14:05
|
(14)->(5)
|
|||
16
arsik
гуру
18.01.22
✎
15:07
|
(0) Ну так в клиентском контекст постоянно переключается. После переключения форма обновляется. В коме визуальной формы нет, ничего и не обновляется.
|
|||
17
pechkin
18.01.22
✎
15:08
|
обработка в цикле уходит на сервер чтоли?
|
|||
18
H A D G E H O G s
18.01.22
✎
15:09
|
(16) в ПриНачалеРаботыСистемы форм нет.
|
|||
19
H A D G E H O G s
18.01.22
✎
15:09
|
(17) да
|
|||
20
pechkin
18.01.22
✎
15:10
|
(19) чтож тогда удивляться что она тормозит?
|
|||
21
Garykom
гуру
18.01.22
✎
15:11
|
(0) Разные версии платформы попробуй еще
И да что клиент синхронизируется с сервером это ежу понятно Сам подумай как Сообщить() с сервера работает )) |
|||
22
Garykom
гуру
18.01.22
✎
15:12
|
(21)+ Выход через фоновые логично?
|
|||
23
Kassern
18.01.22
✎
15:12
|
только не совсем понятно, где такой подход использовать, я вообще стараюсь по максимуму ком соединения исключать. Зависшие подключения потом только перезапуском службы решаются. Да и соединение не мгновенно отрабатывает.
|
|||
24
Fragster
гуру
18.01.22
✎
15:13
|
(21) сообщить с сервера работает точно так же, как с клиента визуально. попробуй сообщить в цикле на клиенте, всё появится в конце цикла
|
|||
25
Garykom
гуру
18.01.22
✎
15:14
|
(24) Хаха. Речь не про это а что происходит синхронизация клиента с сервером по таймауту и это замедляет серверный код
Может там клиент уже давно отвалился и пора серверный код прибить например |
|||
26
pechkin
18.01.22
✎
15:16
|
(25) серверный код не прибивается по отвалу клиента
|
|||
27
pechkin
18.01.22
✎
15:16
|
иначе бы зависших сеансов не было бы
|
|||
28
Garykom
гуру
18.01.22
✎
15:18
|
(26) (27) в курсе
|
|||
29
Garykom
гуру
18.01.22
✎
15:22
|
(0) пробовал с &НаСервереБезКонтекста ?
разницы никакой или есть? |
|||
30
H A D G E H O G s
18.01.22
✎
15:23
|
(29) пробовал. Нет разницы.
|
|||
31
Garykom
гуру
18.01.22
✎
15:23
|
(30) тогда осталось через фоновое еще проверить
|
|||
32
H A D G E H O G s
18.01.22
✎
15:23
|
(20) попытайся посмотреть код.
|
|||
33
Garykom
гуру
18.01.22
✎
15:25
|
интересно если сервер 1С с отладкой или без нее влиять будет
|
|||
34
pechkin
18.01.22
✎
15:29
|
(32) это нужно качать, базу разворачивать.
делать я конечно же этого не буду |
|||
35
arsik
гуру
18.01.22
✎
15:41
|
Через асинхронный метод быстрее получается
|
|||
36
arsik
гуру
18.01.22
✎
15:46
|
+(35) Но это за счет того что форма не обновляется в момент выполнения "ТестированиеВнешнееСоединение.ВыполнитьАнализ()".
|
|||
37
Garykom
гуру
18.01.22
✎
15:52
|
(35) а че по старому то? хде новый "асинх"?
|
|||
38
arsik
гуру
18.01.22
✎
16:07
|
(37) А хрен знает как им пользоваться :)
|
|||
39
Kassern
18.01.22
✎
16:13
|
(38) Ставишь Асинх перед процедурой, или функцией, делов то)
|
|||
40
arsik
гуру
18.01.22
✎
16:32
|
(39) А нук. Покажи.
|
|||
41
ДенисЧ
18.01.22
✎
16:41
|
(40)
Асинх Процедура ЗадатьВопросОПродолжении() Режим = РежимДиалогаВопрос.ДаНет; Ответ = Ждать ВопросАсинх(НСтр("ru = 'Продолжить выполнение операции?';" + " en = 'Do you want to continue?'"), Режим, 0); Если Ответ = КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли; КонецПроцедуры |
|||
42
arsik
гуру
18.01.22
✎
16:48
|
(41) Не Асинхронно не айс. Тоже сплешит как и клиентский
Через вопрос (35) Коротких вызовов : 1 447, размер пакета 36, всего данных 52 092
Через новый асинхронный Коротких вызовов : 1 030, размер пакета 36, всего данных 37 080
Вызов напрямую Коротких вызовов : 1 025, размер пакета 36, всего данных 36 900
|
|||
43
Fragster
гуру
18.01.22
✎
16:52
|
(5) код не смотрел. под "обработка клавиш пользователя, CTRL+Break" имеешь ввиду то, что у тебя вставлена обработкаПрерыванияПользователя? ибо с ней, например, "сообщить" в цикле работает как ожидается, а значит идет обновление форм, может проверка всяких оповещений типа изменения данных (хотя бы их наличия) и прочее
|
|||
44
H A D G E H O G s
18.01.22
✎
19:07
|
(43) Нет, не вставлена.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |