Негативное влияние большого количества ролей на производительность 1С

Публикация № 1398274 10.03.21

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

роли права ERP производительность быстродействие RLS РЛС скорость выполнения запросов отладка код

Столкнулись с интересной проблемой во время работ с базой ERP. Первоначально проблема была в том, что один дописанный функционал работал слишком медленно и требовалось понять почему , однако вскоре выяснилась любопытная деталь – скорость выполнения операции под разными пользователями отличалась.

 

Проявляется она под пользователями, имеющими не административные права (в частности, на изменённом наборе прав «Администратор 2», по сути это тот же администратор но с вырезанными правами на некоторые разделы. Время проведения операции «Разузловка» для пользователей с разным набором прав отличается до нескольких раз (по наблюдениям пользователей с административными правами 2-3 минуты, с набором прав «Администратор 2» 10-12 минут). В связи с этим было решено провести нагрузочные тестирования, которые позволят локализовать проблему. 

  1. Сначала были сделаны замеры производительности при выполнении разузловки для разных пользователей что позволило обнаружить наиболее ресурсоемкий фрагмент кода, который происходит при разузловке. Как оказалось это типовой запрос, встроенный в общий модуль. Анализ показателей производительности демонстрирует существенную разницу во времени исполнения одного и того же фрагмента кода для разных наборов прав. Тесты производились множественные, как на разных пользователях, так и на одном пользователе с заменой прав, на разных базах (нагруженной – рабочей, не нагруженной - тестовой), что исключает случайный результат. 

Администратор - Замер производительности 

 

 

Администратор 2 - Замер производительности 

 

 

  1. Помимо решения задачи выявления узкого места в программном коде замеры производительности помогли сделать важные наблюдения по оптимальности общего сценария разузловки. Из важнейших моментов следует отметить, что выполняется не очень оптимальный запрос в цикле по количеству строк. Здесь имеется хороший ресурс в оптимизации процедуры разузловки: а) можно оптимизировать запрос; б) можно попробовать реализовать задачу разузловки не в цикле по строкам, а запросами по уровням разузловки. При этом следует заметить, что оба этих варианта оптимизации не предусматривают использование типовых механизмов, а могут быть решены одним из трех способов: а) внесением изменений в конфигурацию; б) на уровне расширения; в) внешней обработкой по обработке табличной части документа. 

  1. После обнаружения узкого места в виде запроса было решено проверить скорость его выполнения с разными настройками, в том числе как потенциальная причина снижения производительности была рассмотрена настройка РЛС, которая включается\выключается в разделе администрирования 

 

 

Тесты были несколько раз перепроверены для исключения случайных результатов. Выводы по результатам: а) самое большое время исполнения у экспериментов, которые проводятся на наборе прав «Администратор 2»; б) Отключение РЛС давало прирос в скорости выполнения на разных правах, пользователях при разных нагрузках от 30% до 300%; в) Переход пользователя с прав «Администратор 2» на права «Администратор» давал прирост производительности от 5 до 20 раз (!). 

Скорость выполнения запроса 

  • Администратор 2, с включенным РЛС. Время выполнения 2.922 

  • Администратор 2, с отключенным РЛС. Время выполнения = 2.125 

  • Администратор, с отключенным РЛС. Время выполнения = 0.156 
     

  1. После получения результатов, явно указывающих на проблематику именно состава прав, было решено подробнее проанализировать роли набора прав «Администратор 2». Выяснилось, что в данном наборе содержится более 1000 ролей, что само по себе довольно необычно, при этом каких-то хорошо документированных и актуальных материалов о возможном наличии проблематики производительности именно из-за количества ролей в наборе прав найти не удалось. Поэтому было принято решение самостоятельно провести тестирование на предмет зависимости скорости выполнения запроса от количества ролей.

    Выполнение запроса с разным количеством ролей в наборе прав  

    · 1000. Время выполнения = 1.188 

    · 500. Время выполнения = 0.375 

    · 250. Время выполнения = 0.265. 

    · 100. Время выполнения = 0.25. 

    · 50. Время выполнения = 0.203 

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

Кол-во ролей 

Время исполнения (сек) 

1000 

1,1 

500 

0,38 

250 

0,27 

100 

0,25 

50 

0,2 

 

Наблюдается устойчивая зависимость, что говорит о не очень большой скорости обработки большого количества ролей при исполнении кода на уровне платформы, при чем в нашем случае видно, что 1000 ролей – это для платформы сильно заметный скачок времени исполнения кода. 

Заключение 

Полученные результаты говорят о том, что у оптимизации разузловки возможны несколько шагов в порядке эффективности: 

  1. Пересборка наборов прав с уменьшением количества применяемых ролей. 

  1. Отключение РЛС, если это возможно. 

  1. Реинжиниринг процедуры разузловки на уровне кода с переписыванием запроса и исключением непроизводительного цикла. 

 

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Rustig 1185 10.03.21 06:25 Сейчас в теме
(0)вопросы:
1) роли для Администратора2 добавляются как? через профили пользователей? или через конфигуратор галочками на уровне ролей?
2) профили пользователей стандартные типовые? или кучу своих добавили?
3. aviconsult 39 10.03.21 10:26 Сейчас в теме
(1) Добрый день. Спасибо за вопросы Рустем.
1) роли для Администратора2 добавляются как? через профили пользователей? или через конфигуратор галочками на уровне ролей?

через профили пользователей
2) профили пользователей стандартные типовые? или кучу своих добавили?

кучу своих добавили
5. Rustig 1185 10.03.21 12:26 Сейчас в теме
(3)
кучу своих добавили

мне кажется в этом проблема - много перекрестных прав создали....
имхо, в идеале , один профиль - это одно право....
11. aviconsult 39 10.03.21 15:23 Сейчас в теме
(5)
мне кажется в этом проблема - много перекрестных прав создали....

Тоже к этому склоняемся, Рустем
12. Rustig 1185 10.03.21 15:44 Сейчас в теме
(11) где-то на ИТС - возможно в разделе РЛС, возможно в новых технологиях прав на УФ - написано об этих проблемах производительности - вроде была рекомендация, не создавать перекрестных прав... я давно уже не в теме, не могу ссылку предоставить...
2. sereginseregin 17 10.03.21 08:43 Сейчас в теме
б) можно попробовать реализовать задачу разузловки не в цикле по строкам, а запросами по уровням разузловки.


Такой НЕтиповой механизм давно обсуждаем и хорошо расписан, посмотрите "Рекурсивные запросы в 1С", примеры как раз рассматриваются на задаче разузловки.

Стоит отметить, что в данном конкретном случае большее влияние на производительность оказало именно количество ролей


Не проверял на данных конкретно в 1С. Разбирал стандартный код зашитый в шаблоны по ролям 1С RLS. Разработчики кода (в шаблонах RLS) создали монстра, но выжали максимуму из того, что позволила им платформа. Почему разработчики платформы так безразличны к своим же пользователям и не сделали механизм RLS проще? - вопрос риторический...

Проблема 1С RLS в двух словах такая:
- Если пользователю предоставлен доступ к таблице (объекту) базы данных через 1 (одну) роль, механизм RLS практически не оказывает влияния на производительность - планировщик запроса легко оптимизирует (выворачивает наизнанку) запрос (и вложенные подзапросы), данные собираются за минимальное время;
- Если пользователю предоставлен доступ к таблице по 2-м и более ролям, планировщик не может такой запрос оптимизировать (вывернуть подзапросы наизнанку) и время сбора данных увеличивается в геометрической прогрессии.

З.Ы.
Было бы интересно проанализировать, какие роли у Администратора2 дублируют доступ к таблицам (по картинке, я так понимаю основная нагрузка идет по справочнику Номенклатуры). Отключая и включая эти роли посмотреть план запроса непосредственно в БД.
4. aviconsult 39 10.03.21 10:51 Сейчас в теме
(2) Здравствуйте, Сергей, спасибо за комментарий.
Такой НЕтиповой механизм давно обсуждаем и хорошо расписан, посмотрите

С материалами по этой теме конечно же знакомы, какие конкретно статьи Вы имеете в виду?

Было бы интересно проанализировать, какие роли у Администратора2 дублируют доступ к таблицам

Не совсем понятен комментарий, поясните, пожалуйста, что имеете в виду.

Отключая и включая эти роли посмотреть план запроса непосредственно в БД.

Если что в статье добавили ссылку на текст запроса. К сожалению на уровне БД SQL при изменении ролей текст запроса не меняется, а план запроса из 1С смотреть не стали, ограничились временем выполнения.
8. sereginseregin 17 10.03.21 14:53 Сейчас в теме
(4)
какие конкретно статьи Вы имеете в виду?

Теоретически подход подробно расписал ildarovich Транзитивное замыкание запросом

Для практики могу предложить собственную Консоль рекурсивного запроса (ссылку найдете по личке).

какие роли у Администратора2 дублируют доступ к таблицам

Раннее... Rustig уже указал "один профиль - это одно право...". У Администратора2 правило доступа к таблице X должно быть только одно (только по одной роли). Если у Администратора2 две (или более) роли, в которых описаны права доступа к таблице X, в 1С это может привести к резкому падению производительности запроса.

на уровне БД SQL при изменении ролей текст запроса не меняется

На уровне 1С запрос никак не меняется, меняется запрос на уровне сервера БД (MS SQL, или какая у Вас СУБД используется для 1С).
10. aviconsult 39 10.03.21 15:20 Сейчас в теме
(8)
Теоретически подход подробно расписал

Да, Сергей, спасибо, знакомы с этим материалом.
Для практики могу предложить собственную Консоль рекурсивного запроса (ссылку найдете по личке).

Спасибо, обязательно воспользуемся.
Если у Администратора2 две (или более) роли, в которых описаны права доступа к таблице X, в 1С это может привести к резкому падению производительности запроса.

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

Здесь вынуждены не согласиться, профайлер упорно возвращает одинаковый текст запроса, может, мы, конечно, что-то не так делали, но как ни старались не смогли. Если подскажете, при каких настройках фильтров видны изменения, будем благодарны.
14. sereginseregin 17 10.03.21 19:26 Сейчас в теме
(10)
профайлер упорно возвращает одинаковый текст запроса

Не совсем понимаю о каком запросе идет речь - о запросе 1С (который на русском языке) или о запросе в MS SQL сервере (который на английском). Анализировать нужно запрос в MS SQL сервере (который на английском).

добавили ссылку на текст запроса

Как я понял, этот запрос выполняется для каждой номенклатуры. В нем запрашивается всего две таблицы: Справочник.Номенклатура, Справочник.УпаковкиЕдиницыИзмерения.

Если RLS настроен для Справочник.Номенклатура, теоретически запрос можно ускорить в 11 раз (по кол-ву ОБЪЕДИНИТЬ ВСЕ).

Справочник.Номенклатура вызывается в запросе 11 раз - каждый раз для этого будет выполнятся проверка ограничений RLS. При этом, не уверен, что на уровне MS SQL поможет кэш, условия отбора меняются в каждом подзапросе.

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

ВЫБРАТЬ
	Номенклатура.ЕдиницаИзмерения,
	Номенклатура.ЕдиницаИзмерения.ПометкаУдаления,
	Номенклатура.ЕдиницаИзмерения.Наименование,
	
        // другие необходимые поля

ПОМЕСТИТЬ НоменклатураВременная
ИЗ	Справочник.Номенклатура КАК Номенклатура
ГДЕ Номенклатура.Ссылка = &Номенклатура

Показать

а в последующих 11 вызовах заменить Справочник.Номенклатура на НоменклатураВременная
15. aviconsult 39 11.03.21 07:43 Сейчас в теме
(14) Доброе утро, Сергей.
Не совсем понимаю о каком запросе идет речь - о запросе 1С (который на русском языке) или о запросе в MS SQL сервере (который на английском). Анализировать нужно запрос в MS SQL сервере (который на английском).

Речь идет о запросе на стороне MS SQL Server, профайлер - это как раз одно из его средств по отладке приложений обращающихся к SQL серверу
Если RLS настроен для Справочник.Номенклатура, теоретически запрос можно ускорить в 11 раз (по кол-ву ОБЪЕДИНИТЬ ВСЕ).

Не уверен, что именно в 11 раз, но, думаю, ускорить вполне возможно, перед нами такая задача не стоит. И можно будет сильнее увеличить производительность схлапыванием ролей.
16. sereginseregin 17 11.03.21 08:34 Сейчас в теме
(15)
профайлер упорно возвращает одинаковый текст запроса...
Речь идет о запросе на стороне MS SQL Server


Ну вот, гнездо разворошили, а причину не нашли.
а) Либо это был не тот запрос в MS SQL и нужно искать другой
б) Либо это не проблема "перекрестных прав...", о которых упоминал Rustig, а, например, действительно проблема большого количества ролей. Но тогда Ваша статья обозначает проблему только в заголовке. Чтобы сделать такой вывод, в статье не хватает перечня ролей Администратора и Администратора2 и описания как эти роли связаны со справочником Номенклатуры.

1000 ролей Администратора2 - они как-то связаны с предоставлением доступа к справочнику Номенклатуры, или можно создать пустые 2000 ролей для Администратора2, из-за которых проявится просадка производительности?
17. aviconsult 39 11.03.21 10:13 Сейчас в теме
(16)
Ну вот, гнездо разворошили, а причину не нашли

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

Что же касается существа вопроса, где именно лежит проблема, в пересечении ограничений или как таковом количестве ролей, то нам кажется, что и там и там. На наш взгляд, ролей не должно быть так много, т.е. их порядок не должен идти на тысячи, и естественно они не должны пересекаться, просто потому, что это не логично и приводит к ненужным операциям проверки.
18. sereginseregin 17 12.03.21 09:11 Сейчас в теме
(17)
ролей не должно быть так много ... естественно они не должны пересекаться, просто потому, что это не логично и приводит к ненужным операциям проверки.

Для крупных предприятия >100 подразделений ролей может приближаться и к 1000. Вопрос в том, что бизнес роли, как правило, не пересекаются. Пересекаются разные правила доступа к одним и тем же объектам.

Кладовщик, Диспетчер, Экономист, Бухгалтер - все хотят видеть списание материалов из кладовой в производство, у них у каждого свои цели - для каждого будут описаны свои правила доступа, но описаны они будут к одним и тем же объектам. Все хорошо, пока в одном из мелких цехов на должность Экономиста и Диспетчера не назначать Разнорабочего Гришку ;-). Гришка будет сидеть на трех стульях (окладах), но работать в три раза медленнее, потому что данные в системе будут выгружаться у него на порядок дольше (тормозя при этом процессы остальных пользователей системы).

Гришке, чтобы нормально работать в системе, придется выдать три раздельных учетных записи для каждой роли Экономиста, Диспетчера и Разнорабочего ;-)

Случаи Гришек могут быть единичные, но для крупных предприятий с одним админом на >1000 пользователей та еще заноза... Нужно уметь выявлять такие случаи.

Сам подход RLS усложняет трассировку ошибок - это для любителей играть в шахматы вслепую.

но мы не из академического интереса вопросом занимались

В статье проблема обозначена. Проведена работа по глубокому анализу... Очень жаль, не хватает пары шагов до полного понимания процесса.
6. Gilev.Vyacheslav 1882 10.03.21 12:45 Сейчас в теме
тоже мне Америку открыли, даже фирма 1С в своих докладах неоднократно обращала на это внимание
вообще есть смысл использовать привилегированный режим
https://helpf.pro/faq/view/1134.html для таких запросов
да и вообще, ограничивать данные есть смысл средствами интерфейса, а не на уровне запросов
sapervodichka; syberman; triviumfan; +3 Ответить
7. sereginseregin 17 10.03.21 14:12 Сейчас в теме
(6)
граничивать данные есть смысл средствами интерфейса, а не на уровне запросов

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

Другое дело, что рынок пока не созрел к таким решениям. Компании обходятся внедрением нескольких взаимно интегрированных тематических систем, не включая RLS совсем. Но с Цифровой трансформацией (Налоговый мониторинг, ГОЗ, Холдинговое управление и пр.) потребуется объединить все системы в одну и без RLS уже не обойтись.

Сможет ли 1С удовлетворить требования рынка? (вопрос риторический ;-)
9. aviconsult 39 10.03.21 15:02 Сейчас в теме
(6)
Вячеслав, здравствуйте, спасибо за комментарий.
тоже мне Америку открыли, даже фирма 1С в своих докладах неоднократно обращала на это внимание

Мы бы хотели не открывать Америку и найти качественные статьи по этой теме на просторах рунета, чтоб, так сказать, не решать решенный вопрос, но, к сожалению, не смогли найти, поэтому пришлось открывать:)
Если поделитесь конкретными исследованиями, будем рады положить себе в "копилку". Заранее спасибо:)
13. Gilev.Vyacheslav 1882 10.03.21 16:58 Сейчас в теме
(9) чем больше ролей, тем больше "условно дублирующийся проверок", естественно вместо тысячи ролей надо делать одну роль, но этим ни кто из пользователей заниматься не хочет, они считают что это зона ответственности программиста с какого то перепугу
тоже самое касается запросов, выполняйте их в привилегированном режиме, и если не целиком, то все подготовительные части точно
тут не статьи читать надо, а просто работать
(7) какие решения, о чем вы бредите - ЕРП это заготовка, которую надо допиливать под каждого клиента индивидуально
sapervodichka; sulfur17; alevnev; triviumfan; Rustig; +5 Ответить
19. ovasiliev 20 14.03.21 13:29 Сейчас в теме
Понятное дело, что у ПолныхПрав самое большое быстродействие - сколько дополнительных ролей не пихай пользователю с полными правами - у него в таблице всегда будет только одна роль - ПолныеПрава.
А для остальных системе всегда приходится вычислять доступ по куче наваленных им ролей.
Эта проблема, когда становится невмоготу - решается. Создаётся одна роль, эквивалентная по доступу всем выделенным пользователю.
На инфостарте вроде есть для этого обработка.
20. triviumfan 27 15.03.21 09:33 Сейчас в теме
Хотел комментарий написать, но после Вячеслава и добавить нечего.
Очевидные вещи)
21. sapervodichka 4538 22.03.21 23:10 Сейчас в теме
УстановитьПривилегированныйРежим(Истина)
Оставьте свое сообщение

См. также

Диспетчер Хранилища Запросов в SQL Server 2016+ (он же Query Store) Промо

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

Если вы используете SQL Server 2016 или более позднюю версию, то у вас есть возможность использовать встроенную систему мониторинга, которая позволяет отслеживать самые базовые метрики выполняемых запросов и статистику ожиданий (потребления ресурсов). Эта информация позволяет быстро получить самые ресурсоемкие запросы с их планами и агрегированной статистикой выполнения.

26.04.2019    13675    Aleksey.Bochkov    7    

Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности

Производительность и оптимизация (HighLoad) Рефакторинг и качество кода Технологический журнал v8 Бесплатно (free)

Расскажем про инструменты, рассмотрим планы запросов, увидим, как отслеживать и бороться с проблемами производительности на боевой базе.

07.09.2021    2860    ivanov660    22    

Показатель Page Life Expectancy (PLE)

Производительность и оптимизация (HighLoad) Администрирование СУБД Бесплатно (free)

От переводчика: публикация составлена по материалам BrentOzar.com (Brent Ozar).

18.08.2021    1109    vasilev2015    6    

Адекватный параллелизм в 1С

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

Параллелизм ускоряет выполнение тяжелых регламентных операций на СУБД, но может негативно влиять на работу многопользовательских учетных систем. О том, как анализировать влияние параллелизма и настраивать его для MS SQL и PostgreSQL, рассказал ведущий разработчик компании ООО МКК «Ваш Инвестор» Вадим Фоминых.

13.08.2021    2753    Shmell    7    

Опыт миграции из собственного датацентра в облако AWS Промо

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

Хотя данная публикация и не имеет прямого отношения к 1С, она может быть интересна тем, кто занимается крупными базами данных на MS SQL Server. Описывается опыт миграции баз данных в облако AWS в компании glassdoor.com, где я занимался этим проектом. Это первый драфт текста, получившийся довольно скомканным - в процессе буду дополнять.

29.07.2018    12174    Aleksey.Bochkov    9    

Создаем счетчики производительности Windows для 1С

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

В статье описан подход, позволяющий создавать счетчики производительности Windows для 1С:Предприятие.

09.08.2021    3278    blackhole321    8    

Снова про анализ технологического журнала с помощью PowerShell

Технологический журнал v8 Бесплатно (free)

Универсальная методика анализа технологического журнала (далее - ТЖ) с помощью Powershell без применения алгоритмов программирования.

05.08.2021    1308    cdiamond    0    

Распространенные ошибки разработчиков, приводящие к проблемам производительности

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

Рассмотрим примеры ошибок, анализ, исправление и мероприятия по недопущению подобного в будущем. Всего будет 18 примеров.

02.08.2021    8267    ivanov660    77    

Исследование технологического журнала 1С при помощи регулярных выражений в блокноте Промо

Технологический журнал v8 Бесплатно (free)

Все из тех, кто пробовали сдать на сертификат "Эксперт по технологическим вопросам 1С", сталкивались с методикой ЦКТП - разбор файлов технологического журнала при помощи консоли bash. Я, в свою очередь,внёс изменения в данную методику. Мне хотелось достичь более понятного вида и сфокусироваться на Perl, в качестве предпочтительного средства обработки файлов ТЖ. Вот что из этого вышло:

30.10.2017    32436    MrWonder    42    

Fill factor

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

От переводчика: Публикация составлена по материалам BrentOzar.com (Brent Ozar).

02.08.2021    2501    vasilev2015    6    

Parameter sniffing и генерация планов для разработчиков 1С

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

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

01.06.2021    7324    vasilev2015    15    

Как получить полный доступ к данным файловой базы 1С

Администрирование данных 1С Администрирование СУБД Роли и права Пароли 8.3.14 1cv8.cf Бесплатно (free)

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

31.05.2021    1225    info1i    2    

Опыт оптимизации и контроля производительности в БД с 3000 пользователей Промо

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

Данная статья написана по материалам доклада, прочитанного на Конференции Инфостарта IE 2014 29-31 октября 2014 года. Меня зовут Сергей, являюсь руководителем отдела оптимизации и производительности систем в компании "Деловые линии". Цель этого доклада – поделиться информацией о нашем опыте работы с большой базой на платформе 1С, с чем пришлось столкнуться, как удалось обеспечить работоспособность. Уверен, что вам будет интересно, так как подобной информацией мало кто делится, да и про само существование таких систем их владельцы стараются не рассказывать, максимум про это «краем глаза» упоминают участвовавшие в проекте вендоры. **update от 04.03.2016 по вопросам из комментариев

05.08.2015    66697    Sergey.Noskov    119    

Поиск причин блокировок СУБД

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

Расследование блокировок СУБД. Статья написана по мотивам вебинара Виктора Богачева.

28.04.2021    5372    vasilev2015    13    

Тонкости эксплуатации, плюшки и особенности Postgres Pro Enterprise

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

В ходе онлайн-встречи INFOSTART MEETUP Novosibirsk Руководитель ИТ из компании ИнфоСофт Антон Дорошкевич поделился с коллегами тонкостями и опытом работы с Postgresql для 1С. 

22.04.2021    2088    a.doroshkevich    4    

Решение нестандартных проблем производительности на реальных примерах

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

На екатеринбургском Infostart Meetup выступил с докладом архитектор ИС центра разработки ФТО Александр Криулин. Он поделился с коллегами кейсами нестандартных проблем производительности и рассказал о способах их решения.

24.03.2021    4653    AlexKriulin    37    

Долго открывается конфигуратор Промо

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

В ОС Windows Server 2012 бывает полезно выключать службу Dynamic Fair Share Scheduling (DFSS позволяет балансировать и распределять ресурсы между пользователями), чтобы повысить производительность 1С:Предприятие 8 в ряде случаев.

22.04.2015    43628    Gilev.Vyacheslav    1    

Рецепты приготовления технологического журнала

Технологический журнал Бесплатно (free)

Понимание принципов событий технологического журнала позволяет решать многие проблемы производительности и стабильности работы платформы 1С. О том, как взаимосвязаны события технологического журнала и как с их помощью можно анализировать серверные вызовы 1С, на INFOSTART MEETUP Ekaterinburg.Online рассказал программист 1С из компании ДНС-Ритейл Максим Старков.

22.03.2021    4387    max_st    5    

Анализ полного технологического журнала, 100ГБ+

Технологический журнал Бесплатно (free)

В этой статье рассматривается анализ полного технологического журнала, размер которого за 1 час достигает 50Гб+. Когда у какого-то пользователя что-то происходит, но не постоянно, и выделить определенного пользователя не получается, и проще собрать полный технологический журнал. Но на дальнейшем анализе доступные визуальные средства не выдерживают таких объемов, и просмотр журнала объемом 50Гб попросту вылетает. Но поведение 1С все же хотелось бы изучить и проанализировать, что происходит.

18.03.2021    2527    Axel2009    18    

Соединение вложенными циклами

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

Nested loops и отсутствующие индексы. Статья написана по мотивам вебинара Виктора Богачева.

12.03.2021    3425    vasilev2015    22    

Видеодемонстрация применения Теста-центра для нагрузочного тестирования конфигураций Промо

Нагрузочное тестирование v8 1cv8.cf Бесплатно (free)

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

16.09.2012    36310    Aleksey.Bochkov    29    

Использование системы мониторинга Zabbix с 1С для мониторинга ключевых показателей бизнеса

Zabbix Бесплатно (free)

Мониторинг бизнес-показателей в базе 1С помогает руководителям оперативно принимать решения, реагировать на сбои, видеть реальное состояние каждого из этапов бизнес-процесса. О том, как использовать Zabbix для построения дашбордов и мониторинга ключевых показателей бизнеса, на митапе Infostart Saint Petersburg.Online рассказал Алексей Орловский.

17.02.2021    6340    orlovskiy-a    0    

Анализ блокировок СУБД: таблица изменений плана обмена 1С

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

Практический пример анализа типичной проблемы ожидания на блокировках СУБД, возникающих при использовании планов обмена 1С. Сервер СУБД: Microsoft SQL Server.

18.12.2020    3194    zhichkin    7    

Контекст всегда важен. История проблем производительности

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

Небольшая история о проблемах производительности из-за нехватки процессорных мощностей. А также описание основных показателей работы CPU.

26.11.2020    7282    YPermitin    21    

Повышенная нагрузка на диски сервера баз данных SQL Server Промо

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

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

15.03.2015    44826    gallam99    17    

Анализ проблем производительности по динамике мониторинга RAS 1C

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

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

07.10.2020    4670    ivanov660    13    

Ускорение медленной работы строк в 1С на примере 1С:Документооборот КОРП

Производительность и оптимизация (HighLoad) v8 ДО Бесплатно (free)

Если у вас в 1С:Документооборот КОРП 2.1.11.5 (часть более старых и новых конфигураций): 1) Долго отправляется почта в формате HTML; 2) Медленно открывается документы внутренние / входящие / исходящие; 3) Тормозит область просмотра или открытие задач. Тогда вам сюда.

02.10.2020    5255    Nykyanen    16    

Описание почти всех событий технологического журнала

Технологический журнал v8 Бесплатно (free)

Краткое описание событий технологического журнала с примерами. Все для быстрого старта.

19.08.2020    26734    YPermitin    38    

Как можно "положить" SQL сервер с помощью обычной консоли запросов 1С Промо

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

Описано как из 1С, с помощью безобидной на первый взгляд обработки, можно сделать неработоспособным SQL сервер. Предложены меры, позволяющие избежать этого.

22.01.2014    68930    yuraos    112    

RLS добавление ограничения доступа к данным по произвольному справочнику через штатные механизмы

БСП (Библиотека стандартных подсистем) Информационная безопасность Роли и права v8 КА2 Россия УУ Бесплатно (free)

Решал задачу ограничения доступ к объектам по справочнику "Банковские счета" штатными средствами БСП. Конфигурация КА 2.2. В остальных на БСП должно работать так же. Хотел сделать инструкцию для себя на будущее, решил поделиться.

05.08.2020    3550    ER34    2    

Нестандартные блокировки при работе с OLAP-нагрузкой

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

Если выполнение отчета мешает работе других пользователей и провоцирует блокировки, даже с учетом «грязного чтения» – ситуация кажется парадоксальной. О том, как расследовать такие проблемы, на конференции Infostart Event 2019 Inception рассказали ведущий программист торгового дома «Петрович» Станислав Щербаков и специалист по производительности компании «СофтПоинт» Александр Денисов.

20.07.2020    2648    Филин    7    

Автоматическая классификация ошибок технологического журнала

Технологический журнал v8 1cv8.cf Бесплатно (free)

В статье обсудим пример практической настройки конфигурации «Мониторинг производительности» для автоматической классификации ошибок по группам/кластерам на данных текстов описания ошибок. Используем механизм векторной модели текстов и косинусное сходство между ними.

25.06.2020    4263    ivanov660    13    

Ускоряем списание партий УПП 1.2 / 1.3 / УТ 10.3 Промо

Производительность и оптимизация (HighLoad) v8 УТ10 УПП1 Бесплатно (free)

Не секрет, что многие пользователи, использующие партионный учет (а таких очень много, даже среди огромных холдингов, несмотря на пропаганду РАУЗ) при больших нагрузках сталкиваются с резким замедлением списания партий.

21.06.2013    58993    Антон Ширяев    117    

Выбор процессора для 1С: конец споров или начало?

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

Периодически занимаясь исследованиями производительности я повидал много решений. Делюсь некоторыми выводами на основании теста Гилева и собственных мыслей.

25.05.2020    25674    starik-2005    248    

Выявляем и оптимизируем ресурсоемкие запросы 1С:Предприятия

Производительность и оптимизация (HighLoad) Администрирование СУБД Технологический журнал Структура метаданных v8::Запросы Бесплатно (free)

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

24.05.2020    10961    DataReducer    22    

[SQL Server] Использование trace flag 9592 для сжатия траффика в кластере AlwaysOn

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

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

18.05.2020    2624    Aleksey.Bochkov    4    

Сравнение скорости работы 1C+MSSQL и файлового варианта Промо

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

На форумах постоянно задается один и тот же вопрос: почему 1C+MSSQL медленнее обрабатывает запросы чем файловая? Затем обычно идет «флуд» на несколько десятков страниц. Есть два популярных «течения» в таких форумах — одни говорят что для клиент-серверного варианта это нормально, файловый вариант всегда должен работать быстрее, другие говорят что 1С плохо работает с субд. В результате «баталий и выяснения отношений» на форумах люди расходятся при своих мнения.

19.02.2013    61125    Gilev.Vyacheslav    46    

Учимся готовить кроликов с редиской: опыт применения Rabbit MQ и Redis в интеграционных проектах

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

При построении мощных производительных отказоустойчивых решений для интеграции во всем мире активно используются технологии обработки очередей сообщений с помощью брокера RabbitMQ и кэш-сервера Redis. О практическом опыте использования этих технологий при построении ИТ-ландшафта, включающего системы на 1С, на конференции Infostart Event 2019 Inception рассказал Сергей Наумов.

12.05.2020    8882    SergeyN    3    

Тестируем быстро. Запуск сеанса под другим пользователем за 6 секунд!

Роли и права Пароли v8 v8::Права 1cv8.cf Бесплатно (free)

Как часто вам приходится запускать отладку под другим пользователем? Сколько времени у вас занимает запуск "чужого" сеанса? Убрать (если имеется) у себя аутентификацию ОС, сбросить пароль пользователя и восстановить его потом и т.д. Есть простой и действенный код, который поможет запускать сеансы под другим пользователем без ручной смены параметров аутентификации.

06.05.2020    5254    feva    22    

Ок, Лариса! Мониторинг проблем производительности с применением нейронных сетей

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

Проводить мониторинг производительности вручную, выявляя закономерности в куче графиков и десятках таблиц, довольно сложно. Но это не значит, что разбираться с инцидентами нужно только после жалоб от пользователей. О том, как обучить нейронную сеть и заставить ее оповещать о проблемах, на конференции Infostart Event 2019 Inception рассказал начальник сектора разработки ООО «Группа Полипластик» Владимир Крючков.

27.04.2020    5045    ivanov660    5    

Параллельные вычисления в 1С 8 Промо

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

Решение позволяет ускорять выполнение запросов в 1С 8 в отчетах путем их параллельного выполнения в разных потоках.

11.02.2013    36831    gallam99    19    

Замеры APDEX против "ощущений" бухгалтеров

Автоматизация ИТ-компании APDEX Бесплатно (free)

Очень часто пользователи недовольны, как работает информационная система. Но даже когда ИТ-специалисты все полностью меняют, пользователи остаются недовольными. О том, как объективно оценить проведенные изменения, на конференции Infostart Event 2019 Inception рассказал руководитель ИТ-службы ИООО «Лукойл Белоруссия» Роман Жульпо.

24.04.2020    4779    it-boy    19    

Пример поиска ошибок в технологическом журнале

Технологический журнал Производительность и оптимизация (HighLoad) Бесплатно (free)

Примеры bash - скриптов для поиска ошибок в технологическом журнале.

23.04.2020    3922    vasilev2015    7    

Фреймворк "Мониторинг производительности". Руководство пользователя

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

Описание и руководство "Мониторинг производительности": краткое описание конфигурации, сборник из статей, примеров - собрано в одном файле.

21.04.2020    4792    ivanov660    3    

Ubuntu vs CentOS vs Win2k8 vs Debian: производительность PostgreSQL Промо

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

Хотя интернет уже переполнен статьями о "правильной" настройке связки PostgreSQL и 1C 8.2, для подводных камней всегда остается место. При сравнении производительности СУБД PostgreSQL на разных ОС, показатели различаются в разы. Самую большую обиду принесла любимая Ubuntu (человечность). После долгих дней и ночей проведенных за консолью этой ОС, она разочаровала окончательно. Тормоза PostgreSQL в Ubuntu Server. Что с ними делать? Сколько раз можно наступать на грабли?

03.11.2012    45259    madmpro    32    

Эти занимательные временные таблицы

Производительность и оптимизация (HighLoad) Администрирование СУБД v8 Бесплатно (free)

Кое-что интересное о временных таблицах и работе платформы 1С с ними.

06.04.2020    15797    YPermitin    0    

Оптимизация запросов 1С посредством индексации временных таблиц. Миф? Тестируем, смотрим, считаем

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

Появилось свободное время, решил проверить на работе индексацию таблиц. Решил поделиться с Вами результатами исследования. Давайте порассуждаем на эту тему? Часто ли вы пользуетесь индексацией в запросах? Платформа 8.3.16.1224

03.04.2020    8438    feva    15    

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

Производительность и оптимизация (HighLoad) WEB Интеграция Мобильная разработка Администрирование веб-серверов v8 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    15764    informa1555    35    

Многострочный контекст событий

Производительность и оптимизация (HighLoad) Технологический журнал v8 Бесплатно (free)

Разбор технологического журнала с группировкой событий по первой или последней строке многострочного контекста.

31.03.2020    3798    vasilev2015    11    

Анализ взаимоблокировок

Производительность и оптимизация (HighLoad) Технологический журнал v8 v8::blocking Бесплатно (free)

Скрипт Bash, который выводит полную информацию взаимоблокировок по технологическому журналу. Не имеет аналогов в отечественных публикациях.

20.03.2020    6898    vasilev2015    27    

Многопоточность

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

Увеличиваем скорость загрузки данных в 20 раз. Как следует использовать многопоточность и готовый модуль для внедрения.

18.03.2020    8690    kaliuzhnyi    45