|   |   | 
| 
 | Влияние интерфейса пользователя на производительность? | ☑ | ||
|---|---|---|---|---|
| 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) Нет, не вставлена.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |