УТ 11: Влияние количества ролей, назначенных пользователю, на скорость его работы в системе

Публикация № 262271

Администрирование - Производительность и оптимизация (HighLoad)

УТ тормозит список медленная работа списка

18
Всем известно, что в типовом решении УТ 11 применена новая концепция разграничения прав доступа. А именно, в конфигурации создано большое количество ролей, каждая из которых определяет доступ к одному или нескольким объектам, далее, уже в пользовательской части, роли объединяются в профили, профили назначаются группам доступа, пользователи включаются в группы. В результате у пользователя появляется большое количество микро - ролей, речь может идти о сотнях, так как в типовой УТ 11 более 300 ролей. Удобно это или нет с точки зрения управления и поддержки, это вопрос отдельный и наверное спорный. А как наличие большого количества ролей влияет на производительность? В публикации представлены результаты проведенного мной эксперимента.

Эксперимент заранее не готовился. Ко мне обратились пользователи с вопросом медленной работы (порой зависания) списка справочника "Партнеры". Запустил под собой, проверил - все нормально, никаких зависаний нет. Запустил (на той же машине) под пользователем, который ко мне обратился - действительно список тормозит, причем только при прокрутке стрелками с клавиатуры, но не мышкой. Быстро понял в чем дело - в ПриАктивизацииСтроки происходит получение дополнительной информации по партнеру. Что может быть причиной? Смотрю права - у пользователя назначено более сотни ролей, у меня две (Полные права, Администратор системы). Добавляю пользователю роль "Полные права", проблема остается - список торомозит. Убираю у пользователя все кроме полных прав - проблема торможения списка уходит.

Вывод - большое количество ролей замедляет работу пользователя, что в общем то предсказуемо, но в данном случае подтверждено экспериментально.

Привожу результаты замеров производительности (приведены строки кода и время их выполнения для описываемых выше случаев):

Если НЕ ЗначениеЗаполнено(Партнер) ИЛИ Партнер.ЭтоГруппа Тогда
0,0149994897959184  - "много" ролей
0,0028094977973568  - "мало" ролей

Время выполнения различается на порядок!

 Результат = Запрос.Выполнить();
0,0136426805555556 - "много" ролей
0,0107065418502203 - "мало" ролей

Контакты = ***КлиентСервер.ПолучитьДопИнфПоПартнеру(Элементы.Список.ТекущаяСтрока); 
0,0107463741496599 - "много" ролей
0,0096472290748899 - "мало" ролей

Из замеров видно, что существенные различия во времени исполнения дает строка кода:
Если НЕ ЗначениеЗаполнено(Партнер) ИЛИ Партнер.ЭтоГруппа Тогда

Разбив строку условия на 2 отдельных условия и замерив время, выяснилось, что критичной является часть условия "Партнер.ЭтоГруппа", что логично, так как здесь происходит обращение к БД. Влияния количества ролей на время выполнения другой части условия - НЕ ЗначениеЗаполнено(Партнер), не выявлено.

На этом эксперимент не закончился. Я решил исследовать характер обнаруженной зависимости.
Далее я вернул пользователю исходные роли, добавил роль "Полные права" и стал последовательно удалять по 20 ролей (роли удалялись подряд по списку, роль "Полные права" не удалялась), делая замеры по строке с наибольшей разницей во времени выполнения на каждом из этапов. Результаты представлены ниже.

Строка кода, по которой проводились замеры:
Если НЕ ЗначениеЗаполнено(Партнер) ИЛИ Партнер.ЭтоГруппа Тогда

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

Выявив характер зависимости, нужно было устранить влияние данного кода на работу списка.
Для этого код был выделен в отдельную процедуру, а в "ПриАктивацииСтроки" вместо него добавлен вызов обработчика ожидания:
В 

&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)

   ПодключитьОбработчикОжидания("ВывестиДопИнфоПоПартнеру",0.2,Истина);

КонецПроцедуры

&НаКлиенте
Процедура ВывестиДопИнфоПоПартнеру() 
 
    Контакты = ***КлиентСервер.ПолучитьДопИнфПоПартнеру(Элементы.Список.ТекущаяСтрока); 

КонецПроцедуры 



Таким образом влияние времени выполнения данного кода на скорость прокрутки списка было исключено.

Это решение подсказано в комментариях к начальной версии данной публикации участником nixel , за что ему огромное спасибо.

Данная публикация является логическим продолжением другой моей публикации, связанной со скоростью работы списков -
УТ 11: Ускоряем форму подбора номенклатуры , в которой предлагается решение вопроса ускорения работы списка путем изменения его запроса. Но, как выясняется, проблема может лежать и в совершенно другой плоскости.

Спасибо всем, кто высказал дельные замечания в комментариях, что позволило дополнить публикацию.

P.S.

07.02.2016

В описании изменений релиза 8.3.7.1845 платформы от 30.12.15, в разделе "Оптимизация" есть информация о том, что имевшая место существенная зависимость времени выполнения запросов от количества ролей назначенных пользователю была устранена. В частности говорится, что запросы для пользователей с неполными правами выполнялись недостаточно быстро - время выполнения запроса существенно зависело от количества ролей, назначенных пользователю. В результате было оптимизировано выполнение запросов для пользователей с неполными правами, с использованием ограничений доступа к данным, при большом количестве ролей и теперь время выполнения запроса не имеет существенной зависимости от количества ролей, назначенных пользователю.

Подробнее здесь:

Технологическая платформа 8.3. Версия 8.3.7.1845. Список изменений и порядок обновления

18

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. w-divin 03.03.14 16:57 Сейчас в теме
Интересно, как поведет себя замер, если конструкцию "НЕ ЗначениеЗаполнено(Партнер)" заменить на "Партнер <> Справочники.Партнеры.ПустаяСсылка()" ? Может в данном конкретном случае такое влияние оказывает именно проверка на заполненность? Ведь не зря же в типовых конфигурациях пишут функцию проверки заполненности именно сравнением с пустым значением типа... Вот - нашел на скорую руку:
      Если Организация = Неопределено ИЛИ Организация = РегламентированнаяОтчетностьКлиентСервер.ПустоеЗначениеТипа("СправочникСсылка.Организации") Тогда
               Возврат Новый Структура;
        КонецЕсли;

Функция ПустоеЗначениеТипа(ЗаданныйТип) Экспорт

       Если ЗаданныйТип = Тип("Число") Тогда
               Возврат 0;

       ИначеЕсли ЗаданныйТип = Тип("Строка") Тогда
               Возврат "";

       ИначеЕсли ЗаданныйТип = Тип("Дата") Тогда
               Возврат '00010101000000';

       ИначеЕсли ЗаданныйТип = Тип("Булево") Тогда
               Возврат Ложь;

       Иначе
               Возврат Новый (ЗаданныйТип);

       КонецЕсли;

КонецФункции

Показать
6. TSSV 03.03.14 23:31 Сейчас в теме
(1) w-divin, Торможение вызывает Партнер.ЭтоГруппа - разбил условие на 2 и проверил, вот что получилось:
ОбщийМодуль.***КлиентСервер.Модуль 1 561 Если Партнер.ЭтоГруппа Тогда 144 2,988937 23,43,
то есть 2,988937 / 144 = 0,0207565069444444
а строкой ЗначениеЗаполнено(Партнер) вообще можно пренебречь:
ОбщийМодуль.***КлиентСервер.Модуль 1 558 Если НЕ ЗначениеЗаполнено(Партнер) Тогда 144 0,000680 0,01
то есть 0,000680 / 144 = 4,722222222222222e-6 :)
7. w-divin 04.03.14 13:48 Сейчас в теме
(6) Tsaregorodtsev, мне к сожелению негде проверить влияние большого количества ролей - у меня их всего 18, но могу предложить заменить проблемный участок кода на:
ЭтоГруппа=ОбщегоНазначения.ПолучитьРеквизитОбъекта(Партнер, "ЭтоГруппа")

Функция ПолучитьРеквизитОбъекта(Ссылка, ИмяРеквизита) Экспорт
        
        ОбъектМетаданные = Ссылка.Метаданные();
        ИмяТаблицы = ОбъектМетаданные.ПолноеИмя();
        Запрос = Новый Запрос;
        Запрос.Текст = "
        |ВЫБРАТЬ РАЗРЕШЕННЫЕ " + ИмяРеквизита + " КАК " + ИмяРеквизита + " ИЗ " + ИмяТаблицы + "
        |ГДЕ Ссылка = &Ссылка";
        Запрос.УстановитьПараметр("Ссылка", Ссылка);
        Выборка = Запрос.Выполнить().Выбрать();
        Если Выборка.Следующий() Тогда
               Возврат Выборка[ИмяРеквизита];
        Иначе
               РеквизитМетаданные = ОбъектМетаданные.Реквизиты.Найти(ИмяРеквизита);
               Возврат РеквизитМетаданные.Тип.ПривестиЗначение();
        КонецЕсли;
               
КонецФункции //ПолучитьРеквизитОбъекта()

Показать

8. TSSV 04.03.14 14:19 Сейчас в теме
(7) w-divin, спасибо. Думаю общей рекомендацией в условиях большого количества ролей будет отказ от объектной модели доступа к данным в пользу табличной (запросы).
Мы у себя вообще решили отказаться от типового механизма ролей УТ 11 и формируем новый набор полноценных ролей как именно ролей, а не непонятно чего. И здесь вопрос производительности на самом деле вторичен, но как дополнительный фактор тоже учитывался при принятии решения о смене концепции работы с правами.
2. kapustinag 03.03.14 16:57 Сейчас в теме
Лишнее подтверждение тому, что разработчики типового решения озабочены чем угодно, но только не производительностью работы системы, и не проводят тестирование должным образом.
На УПП 1.3, при гораздо меньшем количестве ролей (не сотни, а "всего" десятки), тоже заметно замедление работы, если у пользователя много ролей. А в типовых ролях УПП и не получается дать пользователю одну-две роли.
McSim; zabaluev; POLGA; TSSV; +4 Ответить
3. w-divin 03.03.14 17:00 Сейчас в теме
(2) kapustinag, разработчики типовых решений озабочены оменно типизацией своего решения. а для ускорения работы есть другие специалисты ))) чем бы вы зарабатывали, если бы типовые решения были идеальными?
4. headMade 141 03.03.14 19:05 Сейчас в теме
5. TSSV 03.03.14 23:11 Сейчас в теме
(4) headMade, RLS не используется, включение / выключение настройки в "Ограничивать доступ на уровне записей" в БД на результат теста не влияет - проверил.
9. asved.ru 36 05.03.14 06:39 Сейчас в теме
Ладно, ключевую функцию мы нашли: тормозит ЭтоГруппа().

Встают вопросы:
1) Как выполняется функция и где возникают тормоза: на 1С или на СУБД?
2) При чем тут роли?
3)
RLS не используется, включение / выключение настройки в "Ограничивать доступ на уровне записей" в БД на результат теста не влияет - проверил

Работа RLS проверяется не включением-выключением, а просмотром текста запроса уровня СУБД в трассировке.

Ответы на эти вопросы можно получить сравнением трассировок (события batch complete, rpc complete, showplan xml) для случая с одной ролью и множеством ролей. Если трассировки идентичны - вопрос к разработчикам платформы. Иначе - причина будет видна из трассировок.

На самом деле виноваты именно RLS, т.к. проверка, а следует ли использовать RLS, производится, грубо говоря, внутри RLS-запроса. Учите матчасть.
ojiojiowka; Il; +2 Ответить
10. TSSV 05.03.14 07:21 Сейчас в теме
(9)asved.ru,
Работа RLS проверяется не включением-выключением, а просмотром текста запроса уровня СУБД в трассировке.

Ответы на эти вопросы можно получить сравнением трассировок (события batch complete, rpc complete, showplan xml) для случая с одной ролью и множеством ролей. Если трассировки идентичны - вопрос к разработчикам платформы. Иначе - причина будет видна из трассировок.

На самом деле виноваты именно RLS, т.к. проверка, а следует ли использовать RLS, производится, грубо говоря, внутри RLS-запроса. Учите матчасть.


Ну и что ты будешь делать после изучения запроса уровня СУБД? Свою платформу писать сядешь?
Изучи вопрос и напиши что у тебя получилось.
12. asved.ru 36 05.03.14 08:57 Сейчас в теме
(10) Tsaregorodtsev, т.е. Вы желаете, чтобы я разобрался в Вашей проблеме и сформировал решение? Такие вещи, как правило, оплачиваются, и недешево.

Куда копать, если желаете разобраться в сути проблемы, я Вам подсказал. Остальное - Ваше дело.
18. TSSV 05.03.14 16:49 Сейчас в теме
(12) asved.ru, Я возможно неправильно Вас понял, возможно Вы имели ввиду, что производительность снижается не столько из за большого количества ролей как такового, сколько из за факта наличия шаблонов ограничений в выбранных у пользователя типовых ролях УТ11 - мы ведь о ней сейчас говорим. Это на самом деле несложно проверить и без погружения в такие дебри, как анализ запросов на SQL сервере. Постараюсь это проделать и сообщу о результатах.
19. TSSV 05.03.14 17:23 Сейчас в теме
(12) asved.ru, Результаты замеров с учетом наличия в ролях пользователя роли с шаблоном ограничений RLS (само разграничение как я уже говорил в базе отключено):
Строка анализируемого кода:
Если НЕ ЗначениеЗаполнено(Партнер) ИЛИ Партнер.ЭтоГруппа Тогда
Результаты замеров:
Много ролей (> 100, в т.ч. с шаблонами RLS и без): 0,0210996291666667
Мало ролей (2 роли), все без без РЛС: 0,0036270839328537
Мало ролей плюс одна роль с шаблоном ограничений RLS (всего 3 роли): 0,0029737675070028

То есть, само наличие шаблона ограничений RLS в роли никакого влияния на быстродействие не оказывает ...
20. asved.ru 36 05.03.14 20:30 Сейчас в теме
(19) Tsaregorodtsev, а Вы уверены, что в одной из ролей с RLS нет шаблона, по которому платформа, к примеру, строит запрос, сваливающийся в table scan вследствие отсутствия подходящего индекса или банальной ошибки разработчика, или в nested loops? Вы думаете, разработкой типовых конфигураций исключительно ЭТВ занимаются?
И даже если бы это было так - Всего ж не рассчитаешь! ©Падал прошлогодний снег

Повторяю: смотрите план запроса. Сопоставив таблицы БД, на которых выполняются проблемные операции, с метаданными, Вы определите примерный вид RLS-ограничения. А потом ищите его в шаблонах.
Если у нас просто слишком много RLS, и запрос проседает на соединениях с подзапросами, это тоже видно по плану запроса.

Вообще на тему анализа проблем производительности на днях книжка вышла: http://v8.1c.ru/metod/books/book.jsp?id=452
Сам еще не читал, но одобряю.
14. eeeio 111 05.03.14 10:38 Сейчас в теме
(9) хорошее замечание. возможно имеет смысл вычистить все запросы из рлс и тормозов станет меньше?
16. asved.ru 36 05.03.14 11:10 Сейчас в теме
(14) eeeio, проще создать новые агрегированные роли вообще без RLS, как указано в (8)
11. eeeio 111 05.03.14 08:57 Сейчас в теме
Интересно, а включение привелегированного режима влияет на скорость?
13. rar_xxx 23 05.03.14 09:45 Сейчас в теме
Я считаю что и роли и rls играют роль в скорости работы, но начинать заморачиваться надо только если данных реально много, все крутится на сервере 1с, sql сервер отдельно работает и сжатие базы, переиндексация, обновление статистики, наконец дефрагментация винта, ускорение в виде 10го рейда или 1го рейда из ssd винтов, не помогает.
От rls можно отказаться только если от вас не требуют чтобы все начальники отделов видели только продажи/контрагентов своего отдела, а менеджеры вообще только свои продажи/своих контрагентов. Все кто хает RLS предлагайте быструю реализацию данной задачи.

p/s Продажи в смысле не только документы РеализацияТоваровУслуг, а все данные базы видны только по списку разрешенных контрагентов, организаций, складов.
15. asved.ru 36 05.03.14 11:07 Сейчас в теме
(13) rar_xxx, как-нибудь посмотрите в план запроса со сложным RLS - если сумеете не материться - Вы очень сдержанный человек.

Речь не о том, что RLS - плохо, речь о том, что не следует делать чрезмерно сложные RLS, т.к. это усложняет запрос и снижает устойчивость плана запроса, как следствие мы получаем падение и нестабильность производительности.
17. artbear 1170 05.03.14 12:17 Сейчас в теме
ОФФ. Как теперь подписаться на ответы, не создав новое сообщение?
Подскажите кто-нибудь.
21. asved.ru 36 05.03.14 20:33 Сейчас в теме
PS если уж вам так неймется исследовать проблему по методологии "черного ящика" - забацайте 100 ролей без RLS. Поступок будет героический, я про него падаванам рассказывать буду.
24. TSSV 05.03.14 23:27 Сейчас в теме
(21) asved.ru, Ваша склонность залезть поглубже в SQL (похоже по любому поводу) напомнила мне один хороший анекдот:
На улице недалеко друг от друга подрабатывают два гитариста - молодой и старый. Молодой музыкант показывает суперскоростную технику, "пилит" по всему грифу, сногсшибательно импровизирует, а старый скромно стоит в сторонке и извлекает вдумчиво пару-другую нот. Около молодого гитариста - никого, около старого - толпа народу. Один слушатель не выдержал, подошел к старому музыканту и спрашивает: "Как так получается, что тот молодой музыкант быстро играет, показывает фантастическую технику, и его никто не слушает, а вы спокойно играете несколько нот и вас слушает толпа народу?" Старый музыкант подумал и ответил: "Он только еще ищет свою ноту, а я уже нашел..."
25. asved.ru 36 06.03.14 06:50 Сейчас в теме
(24) Tsaregorodtsev, моя склонность залезть в SQL обоснована тем, что, как правило, большая часть проблем производительности 1С обусловлена проблемами производительности на уровне СУБД. А анализировать проблему нужно там, где она возникает.
ojiojiowka; +1 Ответить
26. TSSV 06.03.14 08:53 Сейчас в теме
(25) asved.ru, за книжку спасибо. А технологический журнал? Зачем же сразу в SQL?
27. asved.ru 36 06.03.14 10:10 Сейчас в теме
(26) Tsaregorodtsev, директива sqlplan сильно снижает производительность. Причем на DB2 и Oracle - до уровня известного пушного зверька.
Кроме того, графический план просто удобнее смотреть.
22. Ворчун 12 05.03.14 22:49 Сейчас в теме
Универсальность программного решения всегда приводит к усложнению и снижению быстродействия.
В принципе, что вам мешает создать одну роль для каждой должности, в которую слить все необходимые права?
И к тому же более правильная информация по быстродействию будет в том случае, если вы соберете детальную статистику работы в течении ходя бы полного рабочего дня. Например, соберете показания по APDEX. Ведь на временные показатели, что вы здесь привели, могло повлиять что угодно (например фоновое задание, или формирование проводок другим пользователем, сетевая нагрузка и пр.).
23. TSSV 05.03.14 23:18 Сейчас в теме
(22) Ворчун, Свой подход к решению обозначенной в публикации проблемы типовой УТ 11 я описал в (8), там как раз про одну роль для каждой должности. Цифры, что я здесь привел повторяются довольно стабильно, условия эксперимента описаны - выводы для себя делайте сами. Про сетевую нагрузку и пр. - спасибо, буду знать.
28. nixel 822 06.03.14 11:29 Сейчас в теме
Может просто стоит чуть-чуть дописать обработчик события ПриАктивизацииСтроки?
Если в этом обработчике есть как-то тяжелый код, то обычно этот код оборачивается в соседнюю процедуру, подключаемую как обработчик ожидания с задержкой, например, в секунду. Тогда при скроллинге списка с клавиатуры этот тяжелый код не успевает выполняться, так как постоянно срабатывает переподключение обработчика ожидания, а не заложенный в нем код. Если потребуется пример, могу предоставить, а так, думаю, сами разберетесь.
29. TSSV 06.03.14 16:00 Сейчас в теме
(28) nixel, идея понятна, спасибо!
30. ojiojiowka 10.03.14 22:33 Сейчас в теме
Было бы достаточно странно, если бы RLS не снижала производительность, с учетом, что каждое условие - это дополнительный подзапрос к основному запросу. Смысла в статье такого рода не вижу. Автор мог бы подробно описать закономерность и принципы работы RLS, вместо того, чтобы писать кучу букв, содержащих только: RLS - отстой.
31. TSSV 11.03.14 09:05 Сейчас в теме
(30) ojiojiowka, По моему в Вашем комментарии немного смещены акценты относительно изложенного в публикации. Во первых - публикация не посвящена RLS, в ней про это нет ни слова.
Во вторых, публикация посвящена выявлению влияния количества ролей, назначенных пользователю, на производительность его работы. Среди множества ролей, назначенных тестовому пользователю (типовые роли УТ 11, здесь все прозрачно) изначально есть роли с шаблонами RLS (говорим о шаблонах, так как использование RLS в базе отключено), но далеко не все и более того, их "меньшинство". А вот линейный характер выявленной зависимости как раз опровергает утверждение (оно было высказано в комментариях) об определяющем значении в снижении производительности именно наличия в ролях шаблонов RLS. То есть, Ваш тезис, что статья это "наезд" на RLS - неверный. Скорей даже наоборот - влияния наличия в ролях шаблонов RLS на производительность не выявлено (!!!), но суть не в этом.
32. qus-qus 22 07.02.17 12:25 Сейчас в теме
Мы очень остро столкнулись с проблемой количества ролей на работе встроенной функции "ИзменитьРеквизиты" на какой версии платформы это происходило не скажу (года 1,5 назад), но из-за этой проблемы пришлось написать обработку распарсивающую набор ролей профиля и выдающую одну сводную роль. Правда потом 1С поправили эту проблему, но от сводных ролей мы так пока не отказались)

Ну и хочу на всякий случай напомнить, что в случае с наличием РЛС главное контролировать чтобы на один и тот же объект не было задано прав с разных ролей, если шаблоны в этих ролях одинаковы, то задублируются условия РЛС, что крайне негативно (не линейно) может сказаться на длительности запросов. Такие случаи встречаются и на типовых конфигурациях.
Оставьте свое сообщение

См. также

Мониторим производительность с помощью 1С RAS 98

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Производительность и оптимизация (HighLoad)

Подключаемся и анализируем данные через 1С RAS. Необходимо выполнить 5 пунктов и серьезный инструмент мониторинга будет у вас в руках.

19.12.2019    4045    ivanov660    12       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Весёлые картинки о работе Performance Monitor на Windows Server 2016 Std по мотивам расследования потери производительности на базе 1С 19

Статья Системный администратор Нет файла v8 Windows Бесплатно (free) Производительность и оптимизация (HighLoad)

Данная публикация посвящена одной особенности Performance Monitor на Windows Server 2016 Std. Как понимать графики Performance Monitor на Windows Server 2016 Std при расследовании проблем в работе 1С.

22.10.2019    3266    EugeneSemyonov    11       

Обслуживание баз данных. Не так просто, как кажется 133

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad) Администрирование СУБД

Считаете, что обслуживание индексов и статистик дело простое? Что ж, это не всегда так.

14.10.2019    9091    YPermitin    19       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Мониторинг высоконагруженной системы 39

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad) Администрирование данных 1С

Высоконагруженной системе (более 8000 клиентских сессий) мониторинг необходим. Про опыт использования инструментов для мониторинга – самописной системы информирования, написанной на C#, и конфигурации «Центр контроля качества» в связке с системой отображения данных Grafana, на конференции Infostart Event 2018 Education рассказал Олег Репников.

13.09.2019    5301    Repich    5       

Использование Zabbix для сбора информации о серверных вызовах и управляемых блокировках с сервера 1С Предприятия, работающего на платформе GNU/Linux 78

Статья Системный администратор Программист Нет файла v8 Linux Бесплатно (free) Администрирование данных 1С Zabbix

Описанные в данном опусе механизмы ни в коей мере не противопоставляются тому, что реализует КИП от 1С или какие-либо другие инструменты (решения)! Это всего лишь еще один взгляд на "проблему", который может быть полезен в некоторых ситуациях.

10.09.2019    10169    Sloth    11       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.130.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Хранение файлов - как уменьшить размер базы данных 18

Статья Программист Нет файла v8 Россия Бесплатно (free) Чистка базы Производительность и оптимизация (HighLoad) Практика программирования Разработка

Хранение файлов в базе 1С можно оптимизировать для уменьшения размера хранимых данных.

09.09.2019    4343    2tvad    15       

Анализ производительности APDEX 68

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

Отчет для просмотра и анализа замеров производительности в конфигурациях на базе БСП.

31.08.2019    5209    144    YPermitin    7       

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 17 февраля по 13 марта 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

Неочевидные проблемы производительности: важность системного подхода при анализе 51

Статья Программист Нет файла v8 Россия MS SQL Бесплатно (free) Производительность и оптимизация (HighLoad)

Часто программисты и 1С-ники сталкиваются с совершенно необъяснимыми на первый взгляд проблемами. Но это потому, что их внимание направлено только на один сегмент системы, а не на всю систему полностью. О том, почему нужно стараться смотреть на ситуацию комплексно, рассказал специалист по производительности компании SOFTPOINT Александр Денисов.

19.07.2019    5686    Филин    12       

Ловля блокировок на связке "Microsoft SQL server - 1С" 38

Статья Системный администратор Программист Нет файла v8 v8::blocking MS SQL Бесплатно (free) Производительность и оптимизация (HighLoad)

Материал относится к базам данных на связке «1С - MS SQL Server». Один из способов отлова блокировок в бд 1С . Переход к управляемым блокировкам через режим "Автоматический и управляемый".

16.07.2019    5328    fhqhelp    0       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Анти-оптимизация: как мы ускорили запрос в 4 раза, сделав его неоптимальным 58

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad) Практика программирования Решение задач на 1С:Специалист Разработка

В этой статье приведен пример неочевидной "оптимизации" запроса, которая противоречит всем правилам, описанным в книгах для подготовки к сертификации "1С:Эксперт по технологическим вопросам", а также преподаваемым на курсах подготовки экспертов.

02.07.2019    7348    igordynets    119       

С 2020 года сервис «Продление поддержки конфигурации 1С:УПП» подорожает вдвое Промо

Успейте продлить поддержку УПП до повышения цен! Фирма «1С» предупредила об изменении цен на сервис «Продление поддержки конфигурации "1С:Управление производственным предприятием"». С 1 января 2020 года сервис подорожает в два раза.

Ускорение чтения правил обмена в УПП 1.3 в 20 раз! 70

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

Способ оптимизации чтения правил обмена конвертации данных. Может понадобиться при большом размере правил и высокой периодичности обмена.

27.06.2019    6336    YPermitin    16       

Хотите снизить нагрузку на процессор сервера в 2 раза? 21

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Производительность и оптимизация (HighLoad)

В статье рассмотрено влияние частого запуска регламентных заданий на процессор сервера 1С.

27.06.2019    5493    Дмитрий74Чел    6       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

7500 рублей

Непридуманные истории по оптимизации. История 1 82

Статья Системный администратор Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

Первая статья из планируемого цикла об оптимизации приложений на базе 1С. Без теории. Одна практика.

13.06.2019    8910    Repich    117       

Оптимизация: неэффективные запросы 7

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad) Практика программирования Разработка

В большинстве случаев основной причиной медленной работы системы при многопользовательском режиме работы является блокировка данных СУБД (говорим про клиент-серверную версию). Блокировка - это не есть хорошо или плохо, это жизненно необходимая вещь при построении прикладной логики работы системы. Но блокировки таблиц, записей могут быть как вполне законными, так и далеко не всегда оправданными в каждой конкретной ситуации. Одной из самых распространенных причин неоптимальной блокировки ресурсов является некорректное написание запросов.

13.06.2019    3678    slayer-ekb    10       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.11.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

За 5 шагов добавляем мониторинг счетчиков производительности серверов MS SQL и 1С 91

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Статистика базы данных Производительность и оптимизация (HighLoad)

Мы расскажем и покажем, как добавить данные счетчиков производительности серверов 1С и MS SQL в нашу базу мониторинга за 15 минут. Приведем список наиболее важных из них, опишем основные особенности.

28.05.2019    10816    ivanov660    6       

Не думать о секундах свысока... 56

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

Несколько примеров оптимизации типовой конфигурации УТ11. Описанные приемы подходят для многих других конфигураций.

21.05.2019    5621    vasilev2015    21       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Альтернативная стратегия управления блокировками 46

Статья Программист Архив с данными v8 v8::blocking 1cv8.cf Россия MS SQL Бесплатно (free) Производительность и оптимизация (HighLoad)

Данная публикация освещает одну из альтернативных стратегий блокирования данных на уровне MS SQL Server, которая недоступна средствами 1С, но может быть весьма полезной. Разбирается практический пример.

20.05.2019    4950    zhichkin    15       

Как работают управляемые блокировки 125

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

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

29.04.2019    15770    comol    198       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Странное потребление места на диске С 33

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Решение проблемы постоянного роста папки %AppData%/Local/Temp.

26.04.2019    11701    kuzyara    12       

Включение встроенного в платформу механизма "Копии базы данных" и использование "Дата Акселератора". Новый стандартный механизм использования баз OLAP в 1С 51

Статья Системный администратор Программист Нет файла v8 Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

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

25.04.2019    9898    Elf1k    27       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.12.х и УТ 11.4.11.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

5 простых шагов и 15 минут на разворачивание инструмента мониторинга проблем производительности базы 1С 204

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Производительность и оптимизация (HighLoad)

В этой статье мы разберем механизм использования конфигурации "Анализ технологического журнала" на практике, и всего через 15 минут работы вы получите функциональный, удобный инструмент мониторинга проблем производительности базы 1С.

18.04.2019    21187    ivanov660    68       

Как разбить базу на файлы и не сойти с ума 108

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Разбиение базы данных 1C на файлы и последующее сопровождение. Нюансы, грабли и прочее.

06.04.2019    11017    YPermitin    29       

INFOSTART MEETUP Krasnodar. 14 февраля 2020 г. Промо

Краснодар станет первым в 2020 году местом, где пройдет региональная встреча IT-специалистов сообщества Инфостарт. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Стоимость участия - 5000 рублей. Цена действительна до 26.12.2019.

Как одно изменение конфигурации PostgreSQL улучшило производительность медленных запросов в 50 раз 125

Статья Системный администратор Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

В связи с санкциями и другими событиями сейчас все более и более актуальна тема перевода ПО компаний на отечественное и свободное программное обеспечение. Одной из самых востребанных СУБД на рынке на данный момент является PostgreSQL - надежная, высокопроизводительная и хорошо масштабируемая СУБД, которая является прямым конкуретном таким крупным компаниям с их топовыми продуктами, как Oracle, IBM и Microsoft. Однако каждый, кто переходит на PostgreSQL, сталкивается с трудностями, прежде всего с настройкой и производительностью. Не обошли проблемы с производительностью "слоника" и меня. Предлагаю вашему вниманию перевод статьи "How a single PostgreSQL config change improved slow query performance by 50x" автора Pavan Patibandla, которая мне помогла улучшить производительность PostgreSQL.

18.03.2019    11710    w.r.    23       

Простое программное решение проблем с блокировками SQL 17

Статья Системный администратор Программист Нет файла v8 v8::blocking 1cv8.cf Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

Описание одного из способов программного решения проблемы блокировок при проведении документов в клиент-серверной 1С.

06.03.2019    7011    dmitrydemenew    38