В «1С:Предприятие 8.3.13» добавят механизм управления потреблением ресурсов

Возврат к списку

В «1С:Предприятие 8.3.13» добавят механизм управления потреблением ресурсов

01.06.2018     

В новую версию платформы «1С:Предприятие» планируется добавить механизм, управляющий потреблением ресурсов. Его назначение − кастомизация в облачных сервисах с 1сFresh и мониторинг потребления ресурсов.

Новый механизм проводит контроль и аудит использования ресурсов на серверах «1С:Предприятия», защищает от расширений конфигураций, неадекватно расходующих ресурсы, собирает статистику за определенный промежуток времени. Все эти действия повышают безопасность серверов.

По словам разработчиков 1С, механизм позволит в будущем отказаться от превентивной проверки кода расширений конфигурации на эффективность в сервисе  1сFresh, благодаря чему публикации обновлений станут более оперативными.

О счетчиках и ограничениях

Для администрирования нового механизма в настройки кластера были добавлены два объекта:

  • ограничение потребления ресурсов;
  • счетчик потребления ресурсов.

 


Производить настройку этих объектов можно с помощью утилиты Windows для администрирования кластеров, а также используя сервер для администрирования (ras) с одним из инструментов: java-интерфейсом либо утилитой командной строки (rac).

Считаем потребление ресурсов

В настройках счетчика потребления ресурсов можно задать показатели, по которым будет собираться статистика. Теперь доступны два новых параметра: количество сеансов и процессорное время.
 


Они позволяют замерить загруженность процессора и отследить общее число запущенных на сервере сеансов. Также в поле «Отбор» можно гибко описать набор сеансов для сбора статистики.

Устанавливаем ограничения

Реализована возможность ограничить потребление ресурсов посредством указания предельных значений для выбранных счетчиков, а также назначить действия, которые 1С будет выполнять при превышении предельных значений. Один из вариантов − выбрать «Нет». Это, с одной стороны, временно отключает ограничение, а с другой стороны − дает возможность провести тестирование его работы.

Прерывание серверного вызова

Была реализована новая возможность − оперативно прерывать текущий серверный вызов.


Теперь, если на сервере запущено выполнение продолжительной по времени операции (например, сбор и анализ данных для отчета за 5 лет), ее можно прервать, не завершая при этом сеанс. Это даст возможность пользователям продолжать работу  не перезапуская клиентские приложения.

Если есть желание, то можно выдать сообщение пользователю о причинах отказа сервера.

 




Источник: https://infostart.ru/journal/news/mir-1s/v-1s-predpriyatie-8-3-13-dobavyat-mekhanizm-upravleniya-potrebleniem-resursov_840759/
Автор:
Вера Жарова Аналитик


Комментарии
Сортировка: Древо
1. nicxxx 192 01.06.18 16:07 Сейчас в теме
Лучше бы паузу нативно реализовали. За 15 лет то можно уж было...
Gureev; SerebanSK; starik-2005; sandybaev; chebser; 7OH; CyberCerber; HystriX; Brawler; baton_pk; aka Любитель XML; A1ice1990; akimych; Kaperang; user855356; +15 4 Ответить
2. A1ice1990 110 01.06.18 17:56 Сейчас в теме
(1) Через обработчик ожидания, можно попробывать сделать или через бесконечный цикл с прерыванием по времени, это если нативно :3

У меня в публикациях есть внешняя компонента для винды, эмулирующая нажатия клавиш и паузу с помощью WinApi
user855356; +1 Ответить
61. DrAku1a 1287 06.06.18 15:49 Сейчас в теме
(2) Да в коипонентах - оно не только у Вас есть... но вот именно средствами платформы - нету...
3. aka Любитель XML 01.06.18 18:37 Сейчас в теме
(1) +100500
(2) вариантов несколько, непонятно почему до сих пор в движок не запилят
user855356; +1 Ответить
11. minimajack 50 03.06.18 11:57 Сейчас в теме
(1)паузы - зло, есть асинхронное исполнение - этого более чем достаточно.
Если вы захотели паузу - это говнокод.
Единственный вариант использования паузы - это ограничение на кол-во запросов в секунду(минуту, час, день и т.д) к какому то сервису, и то спокойно решается корректным запуском фоновых задач.
kolya_tlt; bpc222; oyti; +3 Ответить
21. AlX0id 04.06.18 07:58 Сейчас в теме
(11)
Сфигали корректно это? А если надо выполнять действия на клиенте, а не на сервере?
Помимо того, возникает излишняя нагрузка по организации этих самых фоновых задач.
25. FesenkoA 26 04.06.18 09:47 Сейчас в теме
(11)фоновые задачи требуют ресурсов, а sleep() - это тот самый простой, во время которого платформа запустит (или не запустит если не нужно) фз

Кроме того ожидание полезно использовать в интерфейсах пользователя, когда показать нужно что то с задержкой
29. nicxxx 192 04.06.18 11:02 Сейчас в теме
(11)
Если вы захотели паузу - это говнокод


Расскажи это разработчикам платформы и всем, кто использует вот такую строчку в коде:

ФоновыеЗадания.ОжидатьЗавершения( МассивЗаданий );
user621724_Dimav1979; +1 Ответить
31. minimajack 50 04.06.18 12:54 Сейчас в теме
(29) ну не могут все сразу переписать на асинхронные вызовы.
будем ждать ОжидатьЗавершения(<ФоновыеЗадания>, <Таймаут>, <ОписаниеОповещенияОЗавершении> )
(25) ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>) - чем плох?
34. FesenkoA 26 04.06.18 13:52 Сейчас в теме
(31)
ПодключитьОбработчикОжидания (<ИмяПроцедуры>, <Интервал>, <Однократно>) - чем плох?

тем что не всегда в типовой все написано асинхронно, и нужно переписывать. Согласен, глобально это решение, но на практике - оверинжиниринг
43. rozer 219 04.06.18 15:50 Сейчас в теме
(29) при чем тут-то пауза - ФоновыеЗадания.ОжидатьЗавершения используется, например когда перед следующим этапом расчета дождаться пока выполнятся все N параллельных фоновых заданий предыдущего этапа расчета...
45. nicxxx 192 04.06.18 16:58 Сейчас в теме
Да, знаю. Активно использую. А теперь представим, что у нас есть 3 неравных порции данных, но одновременно мы может запустить только 2. Разница в размерах порций примерно такая 100%-200%-300%. Т.е. Запустив 2 задания, мы будем ждать пока отработает самое долгое из них. Это если использовать ФоновыеЗадания.ОжидатьЗавершения. Вместо этого можно вручную проверять завершение заданий и, когда завершится более быстрое из двух, запустить третье.
Понятно, что можно вместо *Пауза ( 1 ) можно использовать ФоновыеЗадания.ОжидатьЗавершения (массивЗаданий, 1 ), но ему нужен массив, плюс работает этот метод только через попытку. Можно, но нативная пауза была бы приятнее.

*Пауза( Секунд)
Локатор=Новый COMОбъект("wbemscripting.swbemlocator");
Сервис=Локатор.ConnectServer(Компьютер,"root\cimv2","","","","",128);
Время = Сервис.ExecNotificationQuery("Sel ect * fr om __instancemodificationevent WITHIN 1 where TargetInstance isa 'Win32_LocalTime' and TargetInstance.Second="+Секунда(ТекущаяДата()+Секунд));
СледующееСобытие = Время.NextEvent();
50. nicxxx 192 04.06.18 18:17 Сейчас в теме
(49) Но ведь я именно про это писал
Понятно, что можно вместо *Пауза ( 1 ) можно использовать ФоновыеЗадания.ОжидатьЗавершения (массивЗаданий, 1 ), но ему нужен массив, плюс работает этот метод только через попытку
62. savostin.alex 38 07.06.18 03:36 Сейчас в теме
(1) Пауза 3 секунды:
Для Счетчик = 1 По 3 Цикл
ПолучитьCOMОбъект("winmgmts:").ExecNotificationQuery("Sel ect * fr om __instancemodificationevent where TargetInstance isa 'Win32_UTCTime'").NextEvent();
КонецЦикла;
4. Vladimir45 35 01.06.18 20:41 Сейчас в теме
Сделайте уже блокировку если пользователь ничего не делает 15 минут.
user855356; +1 Ответить
6. AlexGroovy 1 02.06.18 08:12 Сейчас в теме
(4)Так можно же настроить ,что сеанс завершается ,если 15 минут бездействует.
bpc222; user855356; +2 Ответить
7. VladimirL 751 02.06.18 13:40 Сейчас в теме
(6) Обработчики ожидания, как имеющиеся в типовых конфигурациях, так и самописные, мешают. Нужен механизм, позволяющий отличить интерактивную активность от программной и завершать сеансы на основе отсутствия интерактива. Сейчас для этого сложные механизмы писать необходимо.
9. androgin 02.06.18 21:17 Сейчас в теме
(7) не нужно ничего сложного писать))))
журнал регистрации вам в помощь!
10. HystriX 03.06.18 04:42 Сейчас в теме
(9)(7) А как предлагаете определять, что человек смотрит на экран в какой-то отчёт и думает? Это считается интерактивными действиями? :)
Ziggurat; +1 Ответить
13. androgin 03.06.18 13:09 Сейчас в теме
(10)человек 20 минут смотрит и думает?
Что за глупость?
14. HystriX 03.06.18 13:20 Сейчас в теме
(13) Отнюдь. Сидит бухгалтер, смотрит отчет и при этом на бумаге сверяет, правильно ли ей посчитала программа. Вполне реальная ситуация, особенно при тестировании нового функционала.
15. androgin 03.06.18 16:50 Сейчас в теме
(14) и снова бред! Информацию на экране проверять 20 минут - это по пиксельно что-ли?
16. HystriX 03.06.18 17:19 Сейчас в теме
(15) Во-первых, изначально речь шла про 15 минут, во-вторых, я говорил про открытый отчёт и параллельные расчеты на бумаге, а не попиксельная сверка.
17. Vladimir45 35 03.06.18 17:41 Сейчас в теме
(16)
(15)
(14)
(13)
(10)
(9)
(7)
(6)
Открываем европейские best practic и читаем.
Ну реально, по программированию европейцы нам завидуют.
А как элементарная штука, так позоримся.
19. androgin 03.06.18 21:01 Сейчас в теме
(16)даже если на бумаге: 20-30 строк за 15 минут???
Слепая что-ли сверяет?
27. FesenkoA 26 04.06.18 09:51 Сейчас в теме
(19) Ок, бухгалтер открывает 4 окна с разными отчетами и сверяет их. Она не открывает ничего нового, она переключает вкладки/окна и сверяет с бумагами. И допустим это бумажная ведомость комиссионеров и та же ведомость по их данным. акт сверки например. И потом отходит на 5 минут чтобы пропечатать и подшить.
32. androgin 04.06.18 13:26 Сейчас в теме
(27) она будет прокручивать список в любом случае! А это уже активность.
Далее: 4 отчета на экране и бумажная на столе - что это за сверка?
Вы извращаетесь?
33. FesenkoA 26 04.06.18 13:45 Сейчас в теме
(32)я работал в отделе ИТС почти 2 года, все это время я общался с бухгалтерами (кто еще покупает подписку если не бухи), я вам скажу 2 часа изучение отчета без чтения/записи в БД (без учета чтения дин.списка, но тогда были обычные формы) - это еще по божески. Главбух завода могла открыть оборотку без группировок за месяц и сверять ее с бумажными экземплярами 2 дня (!!!) при это считая все на обычном калькуляторе + листочке а4. Вы недооцениваете бухгалтерию.....
38. Vladimir45 35 04.06.18 14:50 Сейчас в теме
(33)И мышкой не двигала?

Ещё раз, речь не о обращениях к серверу, записи, чтения и т.д.
Речь об интерактивным бездействии. К примеру положили планшет на стол и отошли.
46. FesenkoA 26 04.06.18 17:16 Сейчас в теме
(38)вот именно что двигала, а вы имеете в виду отличить бездействие пк от бездействия в базе 1с. Бездействие в базе - это изучать ТабДок, не делая запрос в БД, то есть переключаться между окнами , крутить колесиком, (раз)группировать поля
53. Vladimir45 35 04.06.18 20:51 Сейчас в теме
(46)Алекс, вы вроде из Харькова. Ваши Украинские коллеги это требуют уже несколько лет. Возьмите любую даже LIMS систему.

Впервые лет 5 назад я столкнулся с этим на автоматизации OPERA, свернул приложение, сидишь скажем в водре больше 15 минут, возвращаешься, а там требует пароль. Подтверди что это ты, а не кто-то другой тут подошел.
39. androgin 04.06.18 14:51 Сейчас в теме
(33) уточнение: 2 часа изучать одну страницу на экране????
простите - это тупость!
активность - это не только чтение/запись в БД
47. FesenkoA 26 04.06.18 17:22 Сейчас в теме
(39) 2 часа изучать один отчет более чем в 1000 строк - это жесткая система штрафов, если главбух не отметит какую то платежку, не оформит НН - ее имеют прямо в...зарплату. Видимо вы с главбухами (со стажем овер 20 лет) не так часто сталкивались.

Да, это еще и выполнение процедур, и активизация полей. Расскажите как отследить активность пользователя в случае когда он часами только открывает группировки строк , крутит колесиком да меняет открытые окна? Иногда активизирует поля, но это такой себе показатель
54. androgin 04.06.18 20:55 Сейчас в теме
(47)еще раз для особых... - 1000 строк в экран не влезет!
Так понятно?
Все остальное и есть активность, которую можно отловить!
Если вы на уровне пользователя - то можете что угодно тут говорить. Это смешно.
59. FesenkoA 26 05.06.18 12:55 Сейчас в теме
(54) Я где то писал что 1000 строк на одном экране монитора? 1000 строк в отчете, который пишется в табдок. Ок, перехватите пролистывание отчета вверх-вниз. А теперь то же самое на обычных формах. И кто после этого особый?)

Вот именно что можно! Но уже 12 версий 8.3 и 19 версий 8.2 как этого не было сделано.

1С должна уметь отличать действия пользователя на уровне платформы от собственно процедур в программе. Даже может не перехватывать самостоятельно команды (хотя событие "при наведении" я отлавливал на 1 курсе института еще) а опрашивать винду о том происходит это или нет, как уже делают клиент-банки. Если сидеть водить мышкой по клиент-банку - он работатет, а если переключить активное окно или просто ничего не нажимать 15 минут - он выходит из аккаунта и требует пароль.
60. androgin 05.06.18 16:52 Сейчас в теме
(59)опуститесь уже до 7.7.
И да, можно «перехватить»
Если вы чего-то не знаете - это не значит, что этого не существует
40. Ziggurat 52 04.06.18 14:56 Сейчас в теме
(10) Хороший вопрос. В клиенте сделать отслеживание активности клавиатуры, движений мышки над активным окном. Через 10 мин - окошко "Ваш сеанс будет заверешен, а введенные документы удалены." и таймер такой - тик-так, тик-так и еще через 5 мин завершение. На любое движение гасить окошко и начинать ожидание заново, тайминги настраивать на сервере.
26. Vladimir45 35 04.06.18 09:49 Сейчас в теме
(6) Блокировка сеанса и завершение сеанса - вроде и слова разные и смысл тоже разный. :)
30. AlexGroovy 1 04.06.18 11:38 Сейчас в теме
(26)Смысл блокировать пользователя,если он 15 мин.не работает? Правильнее тогда сеанс его завершать,зачем блокировать того,кто не работает?Такие сеансы завершают освобождая лицензии.
37. Vladimir45 35 04.06.18 14:49 Сейчас в теме
(30)
К примеру идет производство, весь техпроцесс занимает 2 часа. пользователь в планшет раз в 30 минут заносит данные.
Зачем его выкидывать и просить пройти аутентификацию заново?
А если он документ не сохранил?

Из европейских документов
the organization must configure the system to enable account lockout after a specific length of time.

обратите внимание! не logout, а LOCKout.
41. AlexGroovy 1 04.06.18 15:08 Сейчас в теме
(37)Зачем его тогда блокировать,если он ничего не делает?
52. Vladimir45 35 04.06.18 20:47 Сейчас в теме
(41) Европейские требования надлежайшей практики безопасности
55. AlexGroovy 1 05.06.18 07:08 Сейчас в теме
(52)Если это связано с безопасностью ,то там по любому блокировка будет требовать введение заново пароля,чтобы подтвердить ,что это работает тот же пользователь,который работал полчаса назад
56. Vladimir45 35 05.06.18 07:46 Сейчас в теме
(55) Естественно, логин не требует. Чисто пароль. Как в винде - ситуация такая-же.
12. unichkin 1007 03.06.18 12:51 Сейчас в теме
Только напрягает, что они не сказали куда будет собираться статистика. Судя по "Поэтому установив действие Нет, и поработав, например, в течение дня, вы можете посмотреть в технологическом журнале, сколько раз ограничение было превышено"
- если в ТЖ, то щастье сомнительно, т.к. узкоприменимо. ТЖ на проде надолго не включишь..
22. AlX0id 04.06.18 08:00 Сейчас в теме
(12)
ТЖ на проде надолго не включишь..


Неправда. Просто не нужно включать тяжелые события надолго, если есть проблемы с местом на диске.
35. FesenkoA 26 04.06.18 13:59 Сейчас в теме
(12) Конечно же на
unf-stat1c-gpt-msk.1c.ru
в каталог
/unf-stat1c/hs/analytics/sendstats/
:)
48. unichkin 1007 04.06.18 17:33 Сейчас в теме
(35)
unf-stat1c-gpt-msk.1c.ru

И что это значит?)
58. FesenkoA 26 05.06.18 12:47 Сейчас в теме
(48)туда скидывает статистику УНФ ))) тихо-тихо от пользователя. В фоновом процессе попытка, в исключении даже оповещения нет) Что интересно - украинская УНФ этого не делает, а украинская мобильная УНФ - скидывает))) (Зрада.жпг)
18. danjer74 03.06.18 20:32 Сейчас в теме
А когда выходит это великолепие?
20. 7OH 31 03.06.18 23:55 Сейчас в теме
А ещё бы не помешало сделать удобным основной процесс - разработку.
А то всё пользователям и пользователям.
TreeDogNight; +1 Ответить
24. Kosstikk 85 04.06.18 09:08 Сейчас в теме
Как режущеглаза v 8.3.13 пришлепнута на рисунок.. ну как так-то? (((
CyberCerber; +1 Ответить
28. PerlAmutor 30 04.06.18 10:14 Сейчас в теме
(24) Да и коробка как будто-то из под пельменей:



Если по конструктиву:
- средства администрирования серверов 1С необходимо создавать отдельным продуктом с WEB интерфейсом, без всяких Java. Node.js пожалуйста. Чтобы управлять можно было даже со смартфона, пока в отпуске или на больничном.
- отладчик + профайлер (не одной сессии, а всех сразу комплексно) - отдельным продуктом, тут же добавить интерфейс для настройки ТЖ
- движки журнала регистрации и технологического журнала объединить, добавить возможность вынести на отдельный NoSQL сервер
- добавить поддержку WebAssembly в 1С, чтобы была возможность писать внешние компоненты на Си/Си++ для расширения языка, также как это сделано для шейдеров в WebGL.
- да много чего еще можно придумать полезного...
Kochergov; +1 Ответить
36. kumga99 19 04.06.18 14:35 Сейчас в теме
Лучше бы исправляли глюки платформы, с каждым релизом платформы какие то непонятные глюки. А так же есть предложения добавить в платформу механизма выгрузки конфигурации с выборочными обьектами и изменениями, это актуально когда сервер находиться в Америке и из-за слабого интернета приходиться выгружать целый гиговый цфник.
TreeDogNight; AlexGroovy; +2 Ответить
42. Gureev 04.06.18 15:12 Сейчас в теме
Я смотрю все новые фичи - исключительно для облачных решений.
На остальное 1с забила
51. Dach 103 04.06.18 19:05 Сейчас в теме
И надпись не та, и коробка как будбедто от пельменей и вообще - барин функцию Спать() изволил пожелать, доколе бояре нерадивые будут обработчиками асинхронными богомерзкими кормить )))))
user774630; altu71; +2 Ответить
Оставьте свое сообщение

См. также