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

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

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

контекст потоки процессор ресурсы диагностика

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

Зачем мы здесь

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

Нет, мы не будем рассматривать все возможные проблемы и способы их диагностики в одной публикации. Вместо этого мы начнем с простейшей истории проблем производительности с мощностями CPU. Заодно пройдем по всем доступным счетчикам производительности Windows, которые позволяют диагностировать работу процессорной подсистемы. Большая часть рассмотренных ниже показателей производительности актуальны и для *.nix-систем.

И так, начнем с минимального объема теории.

Не хочу читать

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

 
 % загруженности процессора
 
 % работы в пользовательском режиме
 
 % работы в привилегированном режиме
 
 % времени прерываний
 
 Процент времени бездействия
 
 % времени C1, % времени C2, % времени C3
 
 % времени DPC
 
 C1-переходов/сек, C2-переходов/сек, C3-переходов/сек
 
 Прерываний/сек
 
 Длина очереди процессора
 
 Контекстных переключений/с

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

  • % загруженности процессора
  • % работы в пользовательском режиме
  • % работы в привилегированном режиме
  • Процент времени бездействия
  • % времени прерываний
  • Длина очереди процессора
  • Контекстных переключений/с

Все остальные - по ситуации.

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

Исходная задача

Поставим простую задачу, чтобы было интересней разбираться с перечисленными показателями. Нужно разобраться почему тормозит некоторый сервер, на котором установлен сервер 1С и периодически возникают пиковые нагрузки CPU до 100%. Из основных характеристик сервера - 8 ядер, частота 3.6 GHz, 16 ГБ RAM. Ничего сверхъестественного. Вот так эта нагрузка выглядит в диспетчере задач.

На самом деле найти причину достаточно просто, но мы пойдем сложным путем, пройдя через все счетчики производительности. И так, поехали!

Базовые показатели

В первую очередь посмотрим на три базовых показатели нагрузки на CPU:

  • % загруженности процессора
  • % работы в пользовательском режиме
  • % работы в привилегированном режиме

Вот так появление этой нагрузки выглядит в системном мониторе (он же perfmon).

Как мы видим, общий % загруженности процессора доходит до 100 на продолжительное время. При этом % работы в привилегированном режиме держится выше 10%, а иногда доходит и до 60%! Явно что-то не так, но что?

Копнем глубже

Дополнительно посмотрим на другие показатели:

  • % времени прерываний
  • % времени DPC
  • Процент времени бездействия

На графике это будет выглядеть так.

Ничего особенного здесь не видим. Процент времени бездействия упал до 0, что соответствует общей нагрузке под 100%, которую мы видели на предыдущем графике. Показатели % времени DPC и % времени прерываний находятся на минимальном уровне. Значит явных проблем с драйверами, железом или ПО нету. И мы все еще ничего не узнали, пойдем дальше.

Какое состояние

Проверим состояния процессора в части энергосбережения. Может быть дело в этом? (что вряд ли, но взглянем для интереса):

  • % времени C1, % времени C2, % времени C3
  • C1-переходов/сек, C2-переходов/сек, C3-переходов/сек

Количество переключений в секунду отображены пунктиром, а проценты сплошной линией. Вот такой получился график.

Переходов в состояние ниже C1 нет, а они бы были самыми дорогими. Если состояние С1 в рабочим режим переходит за ~10 нс, то C2 уже необходимо 100 нс, а для C3 - 50 мкс. В общем, дело точно не в энергосбережении, и это хорошо! Пойдемте дальше.

Все в очередь

Посмотрим как ведет себя показатель длины очереди к процессору. Вот что мы увидим.

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

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

Настал момент посмотреть что за процессы все это вытворяют.

Узнаем правду

Перейдем в старый и добрый диспетчер задач и посмотрим какие процессы в ТОП'е. И о чудо!

Это рабочие процессы сервера 1С! Вот это поворот! Идем в консоль кластера, чтобы понять кто и что делает на сервере.

 
 Очень большой рисунок

Большое количество фоновых задания. В колонке "Процессорное время" теперь можно отследить кто съедает процессорные ресурсы, но не в нашем случае. И обратите внимание на названия информационных баз в первой колонке. Видите странность? (нет, я не про имена). Да, баз достаточно много, причем фоновое задание запускается каждое в отдельной информационной базе. Но что это за задания?

Идем в журнал регистрации и видим там это.

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

В нормальных ситуациях - нет. Но если на сервере столько баз...

В общем, в чем проблема понятна. 100 баз на одном сервере с 8 ядрами. А ведь нагрузку могут создавать не только фоновые задания обновления индекса ППД, но и остальное (отчеты, проведение документов и многое, многое другое). Можно услышать оправдание такой настройки - но базы то не большие и в каждой работает по 1 пользователю. Как мы видим, это далеко не аргумент в создании такой конфигурации.

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

Мониторинг и сбор информации

Мы рассмотрели основные показатели CPU и их краткое описание. На небольшом и простом примере вживую увидели как эти показатели меняются. Но заходить на сервер каждый раз и проверять счетчики работы ЦП - дело не благодарное, ведь никогда точно не знаешь в какой момент проблема появится.

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

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

История не из мира Highload

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

В будущем рассмотрим более сложные примеры связанные с виртуализацией, облаками и прочими ужасами современного мира ИТ. А пока что все.

Всего хорошего и производительного!

 
 Будьте в курсе!

Для Вас интересны темы по разработке на платформе 1С и связанные темы по разработке, администрированию? Присоединяйтесь в Telegram-канал, где будет появляться информация о моих новых статьях и разработках на Инфостарт, выходу обновлений, а также некоторые материалы по не1Сной тематике (СУБД, мониторинг, C# и кое-что другое).

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

Другие ссылки

Авторские разработки (все разработки на одной странице)

 
 Другие разработки (бесплатные и за $m)

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. VKislitsin 611 26.11.20 13:20 Сейчас в теме
Юрий, размещу тут рекламную ссылку на маленькую хитрость настройки PerfMon-a, с Вашего позволения?
Lansi; YPermitin; +2 Ответить
2. IssakN 33 26.11.20 13:25 Сейчас в теме
"Ужасная" титульная картинка) Так и тянет попереключать ползунки:-).
YPermitin; Sh00rick; +2 Ответить
3. buganov 156 26.11.20 14:16 Сейчас в теме
А еще, раз уж заговорили про очереди, на системах с высокой интенсивностью работы проблемы может создавать журнал регистрации, который генерит очередь к диску. У меня такое было совсем недавно, понять не мог, откуда очередь под 20 и тормоза в системе. Поотключали все лишнее, сначала спали очереди до 8, после очередной чистки ушли очереди и тормоза снова уменьшились.
4. limus80 26.11.20 14:27 Сейчас в теме
Обычное дело с фоновыми на сервере где оч много однотипных баз.
Просто отключением ненужных заданий, разнесения по времени оставшихся и увеличением их интервалов выполнения снизил нагрузку цп сервера на 20%
5. ivanov660 2374 26.11.20 15:09 Сейчас в теме
1. Вообще-то от различных экспертов по 1С я слышал фразу (мне рассказывали через вторые "руки" что даже сами 1С про это говорили), что полнотекстовый поиск - это зло и его лучше не использовать вообще. Т.е.
отключаем его сразу и смотрим что там не так работает.
2. Далее не увидел других важных показателей - очередь к дискам и др., счетчики СУБД, захваты СУБД, время вызова текущее. СУБД я так понимаю стоит на отдельном сервере.
3. А так похоже многовато хостов 1С для 8 ядер.
8. PerlAmutor 122 26.11.20 19:49 Сейчас в теме
(0)
Всеми свои цели и средства, лучше сначала разобраться с настоящими причинами.

Что, простите?

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


И ваши пользователи сразу заметят тормоза в некоторых формах ERP при подборе контрагентов или номенклатуры. Я пробовал =)

(5)
А так похоже многовато хостов 1С для 8 ядер.

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

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

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

Есть же в 1С участки кода, которые раз за разом выполняют одни и те же действия без параметров. Почему бы автоматически не генерировать для них готовые результаты и не молотить процессор? Например из БСП:

Функция ЗаменитьСсылки(Знач ПарыЗамен, Знач Параметры = Неопределено) Экспорт
	
	ТипСтрока = Новый ОписаниеТипов("Строка");
	
	ОшибкиЗамены = Новый ТаблицаЗначений;
	ОшибкиЗамены.Колонки.Добавить("Ссылка");
	ОшибкиЗамены.Колонки.Добавить("ОбъектОшибки");
	ОшибкиЗамены.Колонки.Добавить("ПредставлениеОбъектаОшибки", ТипСтрока);
	ОшибкиЗамены.Колонки.Добавить("ТипОшибки", ТипСтрока);
	ОшибкиЗамены.Колонки.Добавить("ТекстОшибки", ТипСтрока);
	
	ОшибкиЗамены.Индексы.Добавить("Ссылка");
	ОшибкиЗамены.Индексы.Добавить("Ссылка, ОбъектОшибки, ТипОшибки");
	
	Результат = Новый Структура;
	Результат.Вставить("ЕстьОшибки", Ложь);
	Результат.Вставить("Ошибки", ОшибкиЗамены);
	
	// Значения по умолчанию.
	ПараметрыВыполнения = Новый Структура;
	ПараметрыВыполнения.Вставить("УдалятьНепосредственно",     Ложь);
	ПараметрыВыполнения.Вставить("ПомечатьНаУдаление",         Ложь);
	ПараметрыВыполнения.Вставить("ВключатьБизнесЛогику",       Истина);
	ПараметрыВыполнения.Вставить("ПривилегированнаяЗапись",    Ложь);
	ПараметрыВыполнения.Вставить("УчитыватьПрикладныеПравила", Ложь);
	ЗаменаПарыВТранзакции = Истина;
Показать


Очевидно же, что этот участок не изменится, возможно, до следующего обновления конфигурации. Результат будет всегда один и тот же, т.к. тут просто нет параметров с переменным значением. Для чего парсить все это, выполнять построчно, выделять память и в итоге получать на выходе каждый раз одно и то же? Подобные блоки можно было бы выносить в спец.функции с директивой типа "&ГлобальнаяПовторноеИспользование". Собирать статистику использования таких функций и вычислять результат разом для всех самых "популярных" при старте системы. После каждого обновления конфигурации пересчитывать при необходимости, если были внесены изменения в модуль.
14. buganov 156 02.12.20 10:01 Сейчас в теме
(8)
какой смысл в каждом отдельном сеансе вычислять результат функции с повторно используемыми параметрами, результаты, которых кэшируются для каждого из сеанса? Почему бы не сделать специальный тип глобальных функций, которые бы позволили вычислять значения один раз при старте сервера и сохранять эти значения при перезапуске для того, чтобы их результат работы был доступен пользователям сразу же при подключении? Нет, 1Ска упорно будет выбирать одни и те же данные из базы, которые, возможно, не меняются годами, под каждым из них, проводить над ними одни и те же вычисления, сотни, тысячи раз.


Вы же понимаете, что старт сервера при таком раскладе должен вычислить ВСЕВОЗМОЖНЫЕ варианты на ВСЕ методы повторного использования?
Например есть условный метод ПолучитьЗначнеиеДопКонстанты(Имя). ЧТо при этом надо вычислить? Какие имена подставлять?

Вы не совсем правильно понимаете смысл повторного использования. Для описанного Вами сценария, когда значения не меняются годами, есть константы. Если какие то значения надо вычислять и они могут измениться и зависят от различных условий, то ПовтИсп тут прям в тему.
И глобавльное кеширование, конечно, хорошо, но в рамках ООО Рога и копыта, где сидит три калеки. Не забывайте, что есть системы с сотнями пользователей и зачем держать в кеше неиспользуемый мусор, который не нужен или был нужен только одному сеансу?

Статистику собирать? А что если сейчас надо, а потом бизнес-процессы будут меняться и станет не надо? Тогда мы получим конкретный такой временной лаг на мусоре.
6. Painted 34 26.11.20 18:15 Сейчас в теме
Мораль проста - загляните сначала в диспетчер задач и консоль кластера. И perfmon вам не понадобится.
А обслуживание полнотекстного индекса можно делать пореже, еще лучше ночью.
7. insurgut 192 26.11.20 19:45 Сейчас в теме
Но если Ваш ответ - нужно отключать полнотекстовый поиск, потому что он тормозит, то Вы не правы.


Я так и не понял, кто прав кто виноват? Слабенький процессор?
9. info1i 98 26.11.20 22:44 Сейчас в теме
Ко мне частенько поступают задачи производительности, в том числе и с загрузкой процессора, и с полнотекстовым поиском.
Как раз на эту тему публикации пример из моего опыта: https://alexanderrudnitskiy.blogspot.com/2019/10/1-1.html
И рекомендации тоже есть.
Разница в том, что не всегда есть возможность оперативно посмотреть, что в данный момент грузит, поэтому часто подобные задачи решаются с помощью технологического журнала.
Lansi; ivv1970; YPermitin; +3 Ответить
10. buganov 156 30.11.20 15:51 Сейчас в теме
(9) Дополню, с Вашего позволения. У Вас в примере
posDlit = match($0, "-");
posCALL = match($0, ",CALL");
LenDlit = posCALL - posDlit;

показывается, что нагрузка = времени вызова, что совсем не равнозначно.
Например. Есть РЗ, которое выполняется раз в минуту. И, чтобы не открывать новое соединение каждый раз, может случиться так, как в конструкции
Пока Истина Цикл
ВыполнитьДействие();
Ожидание(60);
КонецЦикла;


Он всегда будет в топе.

Или другой пример, когда длительный серверный вызов не успел нагенерить проблем, а послал на SQL запрос, который там и крутится. Основная нагрузка будет именно на сервер СУБД, а CALL покажет только длительность вызова и хосты будут простаивать. Запрос может быть длинным, спору нет, но только на длительность опираться не стоит. В последних 8.3. в ТЖ для вызова появились удлобные свойства отслеживания нагрузки на процессор и память. Но для 8.2 и старых 8.3. не работает, к сожалению.
11. info1i 98 30.11.20 19:59 Сейчас в теме
(10)
Он всегда будет в топе.

Да, бывало и такое нераз; но на практике в большинстве случаев именно длительные вызовы являются причиной нагрузки процессора. И даже бывали случаи с указанными паузами (БСП и прочие), но мы ведь смотрим целый список топов, поэтому причину трудно не заметить.
Я в курсе про поле CpuTime в ТЖ в новых версиях 8.3; но, к сожалению, у заказчиков используются разные старые версии, и даже 8.2.
Ну и длительные вызовы - это ведь тоже нехорошо (с позиции стабильности и производительности).
12. buganov 156 30.11.20 22:48 Сейчас в теме
(11) Ну спорно, спорно, если честно. Длительный вызов может быть и не только по нехорошей причине ведь, например, если заложено бизнес-логикой по нажатию на кнопку сформировать стопку заказов. Длительная операция? Да. Нехорошая? Нет.
А если сюда приплюсовать кучу аналитических отчетов, то они будут висеть в топе, но нагрузка уйдет уже на СУБД, и, как правило, крупные базы имеют разделенные сервера 1С и СУБД, и там ищи ветра в поле.
Да, 8.3 сделали огромный шаг, добавив в ТЖ MemoryPeak и CPUTime, так хоть можно увидеть реальную нагрузку на сервере 1С, а не коня в вакууме, ибо на 8.2, с которой я сейчас и работаю, одними CALLами вообще не обойтись, а приходится прям комплексно исследовать. И большое время вызовов было на банальные запросы(огромный пласт логики передан в руки роботов), отчеты, особенно, если пользователю вздумалось построить выручку за все времена(с 2011, "Ачетакова?"(с)).
И вот тут уже выходит на пьедестал любой скриптовый язык(мне лично понравился питон с его возможностью утилизировать любое количество ядер, а не 4, как у баша), которым собираем вызовы, минусуем запросы, получаем хоть какую то картину, приближенную к реальности.
Ни в коем случае не критикую, просто решил внести свою лепту, вдруг, кто то имеет проблемы с производительностью на архаике, как я.
13. triviumfan 24 01.12.20 21:10 Сейчас в теме
15. buganov 156 02.12.20 10:02 Сейчас в теме
(13)Небольшая история о проблемах производительности из-за нехватки процессорных мощностей. А также описание основных показателей работы CPU.
16. ByNiko1984 02.12.20 14:24 Сейчас в теме
(15) он троль или токсик. Ему ответ не нужен был)))
17. sergvagner2018 02.12.20 15:43 Сейчас в теме
(0) С возвращением. Давно публикаций не было
18. DAAbramov 10 03.12.20 23:02 Сейчас в теме
Конкретно в этом случае поможет включение режима отладки (контекст базы будет грузится порционно и не полностью) и настройка сквозного расписания заданий
Оставьте свое сообщение

См. также

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

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

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

26.04.2019    12120    Aleksey.Bochkov    7    

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

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

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

07.10.2020    3577    ivanov660    12    

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

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

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

02.10.2020    4276    Nykyanen    16    

Мастер создания копии информационной базы для отчетности

Производительность и оптимизация (HighLoad) Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Прототип инструмента для подготовки реплики в режиме только для чтения к использованию. Позволяет использовать "read-only" реплики как обычные информационные базы 1С.

10 стартмани

28.08.2020    5863    3    YPermitin    9    

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

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

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

29.07.2018    11752    Aleksey.Bochkov    9    

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

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

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

19.08.2020    11792    YPermitin    30    

SQL для 1С: пишем правильно, красиво, сложно

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

Многие программисты боятся работать с Null, считая, что от этих данных в запросах нужно избавляться. О том, как с помощью Null-полей в запросе решать востребованные в учете задачи по выборке данных, на конференции Infostart Event 2019 Inception рассказал ведущий разработчик ГК WiseAdvice Дмитрий Дудин.

14.08.2020    11123    dmurk    30    

Диагностика контекста выполнения (внешняя компонента)

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Небольшая экспериментальная внешняя компонента для получения дополнительной информации о контексте выполнения.

1 стартмани

24.07.2020    5493    2    YPermitin    14    

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

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

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

30.10.2017    30570    MrWonder    42    

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

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

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

25.06.2020    3076    ivanov660    12    

Экспорт журнала регистрации. Набор инструментов (приложения + исходный код)

Прочие инструменты разработчика Журнал регистрации Абонемент ($m)

Набор инструментов для экспорта данных журнала регистрации во внешние хранилища для Windows и Linux (SQL Server, PostgreSQL, MySQL). Готовые приложения и исходный код.

10 стартмани

26.05.2020    6231    26    YPermitin    0    

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

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

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

25.05.2020    15157    starik-2005    232    

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

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

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

05.08.2015    62056    Sergey.Noskov    119    

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

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

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

24.05.2020    8383    DataReducer    22    

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

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

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

12.05.2020    6377    SergeyN    2    

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

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

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

27.04.2020    4383    ivanov660    5    

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

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

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

22.04.2015    41675    Gilev.Vyacheslav    1    

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

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

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

23.04.2020    3192    vasilev2015    7    

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

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

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

21.04.2020    3889    ivanov660    3    

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

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

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

06.04.2020    12873    YPermitin    0    

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

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

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

15.03.2015    41252    gallam99    17    

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

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

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

31.03.2020    14008    informa1555    35    

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

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

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

20.03.2020    5630    vasilev2015    27    

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

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

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

18.03.2020    7665    kaliuzhnyi    43    

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

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

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

22.01.2014    67883    yuraos    112    

История работы пользователей (отчет на СКД)

Администрирование СУБД v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

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

2 стартмани

14.03.2020    7079    67    YPermitin    27    

Просмотр и анализ журнала регистрации (отчет на СКД) Промо

Журнал регистрации v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

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

5 стартмани

25.07.2013    67701    1013    YPermitin    53    

Улучшение пооперационного планирования в 1С:ERP 2.4 внешними средствами

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

Задача построения оптимального производственного расписания требует сравнения тысяч и десятков тысяч вариантов. Выполнять такие вычисления средствами платформы 1С Предприятие нецелесообразно. Как реализовать пооперационное планирование с использованием генетических алгоритмов и параллельных вычислений в докладе на конференции Infostart Event 2019 Inception рассказал генеральный директор компании «ИНТЕХ» Сергей Сафаров.

02.03.2020    5839    ildarovich    7    

Информация о пользователях информационной базы (отчет на СКД)

Администрирование данных 1С Роли и права v8 v8::Права v8::СКД 1cv8.cf Абонемент ($m)

Два простых отчета по пользователям информационной базы и информации по ним.

1 стартмани

02.03.2020    6781    20    YPermitin    8    

Делаем быстрее POSTGRESQL COUNT (*)

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

Предлагаю вашему вниманию перевод статьи Laurenz Albe "POSTGRESQL COUNT(*) MADE FAST". Оригинал доступен по ссылке https://www.cybertec-postgresql.com/en/postgresql-count-made-fast/

28.02.2020    3182    w.r.    1    

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

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

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

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

Технические проверки данных регистров бухгалтерии (отчет на СКД)

Администрирование данных 1С Бухгалтерский учет Механизмы бухгалтерского учета v8::БУ 1cv8.cf БУ Абонемент ($m)

Отчет для технических проверок данных бухгалтерских регистров.

5 стартмани

25.02.2020    6343    17    YPermitin    2    

Простое обнаружение проблем производительности в PostgreSQL

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

Предлагаю вашему вниманию перевод статьи Hans-Jürgen Schönig "DETECTING PERFORMANCE PROBLEMS EASILY IN POSTGRESQL". Оригинал доступен по ссылке https://www.cybertec-postgresql.com/en/detecting-performance-problems-easily-in-postgresql/ Актуально для всех 1С ников, перешедших с MS SQL на Postgres

20.02.2020    5172    w.r.    4    

Планы запросов - это просто! Разбор оптимизаций запросов PostgreSQL на живых примерах

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

Проблема быстродействия 1С напрямую зависит от производительности запросов. Но как понять механику работы СУБД с помощью плана запроса? Андрей Овсянкин и Никита Грызлов на конференции Infostart Event 2019 Inception подробно рассмотрели алгоритм работы с планом запроса СУБД PostgreSQL, полученным из технологического журнала, и рассказали, на что обратить внимание, чтобы оптимизировать работу системы.

17.02.2020    10928    Evil Beaver    13    

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

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

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

19.02.2013    55182    Gilev.Vyacheslav    46    

Держи данные в тепле, транзакции в холоде, а VACUUM в голоде

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

Чтобы база работала быстро – в ней нужен порядок. Это касается как MS SQL, так и PostgreSQL. Как настроить базу, чтобы в ней поддерживался порядок, какие регламентные операции нужно проводить, чтобы данные чистились, индексы перестраивались и оперативная память высвобождалась в своём выступлении на конференции Infostart Event 2019 Inception поделился руководитель ИТ в компании «ИнфоСофт» Антон Дорошкевич. 

07.02.2020    13095    a.doroshkevich    22    

Мастер полнотекстового поиска

Поиск данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Набор инструментов для работы с полнотекстовым индексом платформы 1С. Стандартные и расширенные возможности.

2 стартмани

07.02.2020    10181    90    YPermitin    28    

Помощник работы с идентификаторами объектов

Прочие инструменты разработчика Поиск данных v8 1cv8.cf Абонемент ($m)

Инструмент для расширенного анализа идентификаторов объектов.

2 стартмани

24.01.2020    11510    45    YPermitin    32    

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

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

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

11.02.2013    30362    gallam99    19    

Оптимизатор запросов. Вторая часть

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

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

23.01.2020    6766    darkdan77    59    

Улучшаем производительность 1С. Рекомендации

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

Каждый уважаемый разработчик 1С сталкивался или столкнется с вопросом производительности высоконагруженных систем. В статье агрегирован основной набор рекомендаций, который позволит повысить производительность системы. Эти рекомендации должны быть просто must have по определению.

23.01.2020    8525    Kaval88    26    

Атака сервера кнопонажималкой

Нагрузочное тестирование Инструментарий разработчика Бесплатно (free)

Чтобы убедиться, что продукт выдержит планируемую нагрузку, необходимо провести нагрузочное тестирование – написать сценарии пользовательских действий и запустить их в несколько потоков, чтобы заранее найти проблемы в бизнес-логике и «узкие места». О том, как упростить написание сценариев тестирования для конфигурации Тест-центр с помощью фреймворка Vanessa Automation на конференции Infostart Event 2019 Inception рассказал ведущий программист компании «ПервыйБИТ» Никита Грызлов.

20.01.2020    6400    nixel    22    

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

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

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

03.11.2012    44620    madmpro    32    

Транслятор запросов 1С в SQL

Производительность и оптимизация (HighLoad) Администрирование СУБД v8 v8::Запросы 1cv8.cf Абонемент ($m)

Инструмент для трансляции запросов платформы 1С в SQL, а также их диагностики.

10 стартмани

07.01.2020    16954    142    YPermitin    89    

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

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

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

19.12.2019    12766    ivanov660    16    

Командный интерпретатор для 1С

Сервисные утилиты v8 1cv8.cf Абонемент ($m)

Инструмент для выполнения команд CMD / PowerShell из 1С.

2 стартмани

15.11.2019    13171    26    YPermitin    41    

История роста и работы команд 1С в условиях HighLoad и BigData

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

Современные потребности бизнеса заставляют программистов 1С решать все более сложные задачи. А главные требования, которым необходимо соответствовать, – вовремя поставлять ценности высокого качества. С какими сложностями приходится сталкиваться в работе программистам в динамично развивающейся брокерской сфере, и как их решают, на конференции Infostart Event 2018 Education рассказал начальник отдела интеграции БКС Технологии Сергей Артемов.

11.11.2019    7906    user826155    11    

Пакетная выгрузка / загрузка внешних отчетов и обработок

Прочие инструменты разработчика Менеджеры внешних отчетов v8 1cv8.cf Абонемент ($m)

Пакетная выгрузка / загрузка внешних отчетов и обработок для массовый манипуляций с ними.

2 стартмани

04.11.2019    10619    46    YPermitin    22    

Обозреватель криптографии

Инструментарий разработчика Защита ПО v8 Абонемент ($m)

Отчет для просмотра доступных провайдеров и сертификатов криптографии на сервере и клиенте.

2 стартмани

21.10.2019    11272    12    YPermitin    10    

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

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

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

14.10.2019    18932    YPermitin    31