Установка процессорных квот 1C (и не только) с использованием программы ThreadMaster

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

Александр Маляев

Вступление

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

Поиски истины

Мысль эта мне пришла давно. Полгода я мучился вопросом: почему нельзя сделать квотирование процессорного времени на Windows 2000 Server в то время, когда на UNIX-системах это делается без проблем? Копал интернет, спрашивал системных администраторов. В ответ одно - нельзя этого сделать принципиально, можно лишь задавать приоритеты процессам. Однажды наткнулся на статью, где оговаривалось, что возможно задание процессорных квот с использованием продуктов сторонних производителей. Больше никакой информации не давалось, указывался лишь перечень программных продуктов, справляющихся с этой задачей, и предлагалось опробовать каждый из них, чтобы выбрать для себя подходящий. На всякий случай приведу этот перечень:

Лично я опробовал все программы из этого списка. Одни из них были чересчур тяжелыми пакетами-монстрами типа MS Office, весьма сложными в освоении и настройке, другие решали узконаправленную задачу и не позволяли решить проблему "на корню". А самое главное - все они были платными, без поддержки отечественными дилерами и без русской документации. Очень жаль, что та программа, которая действительно оказалась нужной, стояла в самом конце списка. Иначе бы я сумел сэкономить уйму времени. Ну что же, надеюсь, эта статья поможет сэкономить время вам.

Период удивлений

Итак, в итоге я остановился на программе ThreadMaster. Скачивание программы с сайта разработчика ввело меня поначалу в состояние ступора. Уже привыкший к дистрибутивам размером несколько десятков мегабайт, я не мог поверить в эффективность программы, чей архив занимал 27 килобайт. Я даже не заметил, как она скачалась - очень уж быстро промелькнуло окошко загрузки. Но ничего, глянув на диск, я обнаружил, что там действительно лежит маленький архив, а в нем - желанный плод. Вторая стадия удивления настала после рассмотрения фразы "Freeware License". Как оказалось, не все, что бесплатно - плохо. Linux и материалы сайта 1c.proclub.ru яркий тому пример. Ну и наконец, третья стадия настала тогда, когда я понял, что инсталлятора и GUI-интерфейса у этой программы нет и не предвидется.

Установка

Программа ThreadMaster устанавливается после распаковки архива запуском командного файла "Install.cmd". При этом создается папка программы в каталоге "System32", создаются ключи реестра и сразу же запускается служба "ThreadMast.exe". Никакой перезагрузки компьютера при этом не требуется. Для того, чтобы остановить работу программы, достаточно остановить соответствующую службу. Для деинсталляции программы необходимо запустить командный файл "Uninst.cmd", который можно скачать с сайта разработчика.

Настройка

Так как ThreadMaster не имеет GUI-интерфейса, все настройки производятся изменением тех или иных ключей реестра в ветке "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesThreadMaster" . Все изменения вступают в силу только после перезапуска службы. Рассмотрим наиболее важные настройки.

Глобальные настройки.

•  "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesThreadMasterParametersCPUThresholdPct"

Этот ключ задает отрезок времени, в течение которого будет производиться усредненный анализ загрузки процессора процессом. Значение параметра определяется в интервале от 10 до 100 (секунды).

•  "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesThreadMasterParametersThreadOverloadActionStart"

Этот ключ задает команду (приложение, командный файл), которая будет выполняться в случае принудительного снижения процента загрузки процессом. Можно применять для создания своих систем статистики, для настройки оповещений, для принудительного снятия или перезагрузки процесса и в других случаях. Пример создания командных файлов с использованием переменных контекста ThreadMaster (простите за такое изложение понятий - по другому не могу, слишком долго с 1С работаю) можно посмотреть в файлах "ThreadSaveLog.cmd" и "ThreadLog.cmd".

•  "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesThreadMasterParametersThreadOverloadActionStop"

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

Локальные настройки.

Производятся путем создания дополнительных ключей строкового типа в ветке реестра "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesThreadMasterParametersApplications". Каждый новый ключ определяется именем значения, представляющего собой имя процесса (например "1cv7.exe"), и самим значением, определяющим максимально допустимый процент загрузки процессора этим процессом (аналогично глобальным настройкам). Значение параметра определяется в интервале от 1 до 100 (проценты).

Исключения.

Производятся путем создания дополнительных ключей строкового типа в ветке реестра "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesThreadMasterParametersExceptions". На процессы, перечисленные в данной ветке реестра, не будут распространятся квоты. Изначально эта ветка уже содержит ряд ключей, соответствующих системным процессам. Но можно добавлять и свои. Ключ задается только именем значения, представляющего собой имя процесса (например "Termsrv.exe").

Статистика

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

•  "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesThreadMasterStatisticsCount"

В этой ветке хранятся счетчики ограничений для каждого процесса.

•  "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesThreadMasterStatisticsTime"

В этой ветке хранятся счетчики времени, которое процесс провел в состоянии ограничения.

Хитрости

Вот чего нет в программе ThreadMaster, так это разделение настроек на разные категории пользователей. Возможность классического определения настроек для конкретного пользователя тоже отсутствует. Возникает вопрос: как быть? Я все-таки нашел способ осуществить эту операцию. И пусть меня назовут извращенцем, пусть твердят, что это неправильно и криво, но все таки это СПОСОБ. А те неудобства, которые возникают вследствие использования этого метода, это лишь малая плата за бесплатность и уникальный функционал программы. Объясню суть.

Задача: Установить пользователю "П1" , который активно пользуется "тяжелыми" отчетами, квоту 10%, пользователю "П2", который интенсивно проводит документы, квоту 50%, а пользователю "П3", который занимается конфигурированием 1С, отменить квоту на 1С.

Решение: Создаем 3 копии файла "1cv7.exe" для каждого пользователя в том же каталоге, где находятся программные файлы 1С. Первую копию переименуем в "1cv7_П1.exe", вторую - в "1cv7_П2.exe", третью - в "1cv7_П3.exe". При необходимости установим соответствующие права на доступ пользователей к этим файлам. Ярлыки запуска 1С настроим для каждого пользователя свои, ведущие к тому или иному файлу. А дальше все просто - в ветке "Applications" добавляем ключи для первой и второй копий, устанавливаем им значения 10 и 50 соответственно, а в ветку "Exceptions" добавляем ключ для третьей копии. Таким образом можно устанавливать квоты как для конкретного пользователя, так и для групп пользователей.

Заключение

Использование процессорных квот, к сожалению, не является универсальным и единственно правильным способом стабилизировать работу терминал-сервера. Как я уже говорил во вступлении, существует целый ряд методов увеличить быстродействие 1С и решить проблему "узких мест". Но квотирование процессорного времени поможет на первых порах тем, кто уже начал задумываться о вложении денежных средств в апгрейд техники и программного обеспечения, и тем самым обеспечить большую отдачу капитальным вложениям в информационные технологии. Также эта методика практически во всех ситуациях решит проблему загрузки процессора "тяжелыми" отчетами, обеспечив более оперативное проведение документов и работу со списочными данными. Грамотно подобранные и протестированные параметры ThreadMaster позволят увеличить число одновременных пользовательских сеансов, справедливо разделить ресурсы между работниками и программами в зависимости от их реальных потребностей и степени важности оперативного получения и ввода информации. Кроме того, эта статья является практически уникальной в своем роде, полезной для администраторов серверных операционных систем, так как доказывает, что использование процессорных квот возможно и в Windows 2000 Server, а не только в Linux.

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

•  Программа ThreadMaster версии 1.12 сборки 182 для операционных систем Windows 2000/2003 Server ( http://threadmaster.tripod.com/ ).

•  Статья "Настройка производительности терминального сервера" ( http://citrix.pp.ru/madden.html ).

Сервер P4 2400 / 1 Гб / 2*80 Гб IDE / 1*18 Гб SCSI / Windows 2000 Server / TSE / 20 users.

Начать дискуссию

OpenAI объявила о запуске поисковой системы SearchGPT на базе искусственного интеллекта

Разработка SearchGPT ставит OpenAI в прямую конкуренцию с компанией Google, которая также спешит внедрить функции искусственного интеллекта в свою поисковую систему

Не успеваете составить отчеты и собрались временно сдать нулевки? Будьте осторожны! «Ночной бухгалтер» № 1732

Если бухгалтер не успевает вовремя сформировать правильную отчетность, то может показаться, что хороший вариант — сдать нулевки, а чуть позже отправить уже корректировочные отчеты. Узнали, как будем отдыхать в 2025 году, грозит ли нейросеть стать конкурентом бухгалтеру и что происходит с YouTube.

Иллюстрация: создано с помощью ИИ OpenAI © Вера Ревина/Клерк.ру
Пенсии

Законодатели взялись за многодетных отцов-одиночек

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

Курсы повышения
квалификации

18
Официальное удостоверение с занесением в госреестр Рособрнадзора

Россияне смогут установить самозапрет на ставки

Жители страны смогут установить запрет на участие в азартных играх на 4 и 12 месяцев. От таких клиентов букмекеры не смогут принимать ставки и предлагать им фишки в казино.

Маркетинг

Рынок блогосферы восстановился

Большинство рекламных агентств расшили штат сотрудников и повысили зарплаты на 13%.

Как строить карьеру в ИТ через эффективный нетворкинг

Как строить карьеру в ИТ через эффективный нетворкинг
Опытом делятся эксперты-практики, без воды
Импорт

Финансовое сопровождение импортеров стало самой востребованной услугой ВЭД в первом полугодии 2024

Участники внешнеэкономической деятельности выбирают компании с официальным представительством в Китае, чтобы избежать проблем с оплатой поставок.

До конца недели скорость загрузки YouTube на стационарных компьютерах может снизиться до 40%, а к концу следующей — уже до 70%

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

Бесплатно с ФСБУ Документооборот

ФСБУ 27/2021 «Документы и документооборот в бухгалтерском учете»

Кто должен применять ФСБУ 27/2021, какие требования предъявляются к бухгалтерским документам и документообороту, как правильно составить документ и исправить ошибку.

ФСБУ 27/2021 «Документы и документооборот в бухгалтерском учете»
Реклама

Депутаты выступили против рекламы на запрещенных ресурсах

Ответственность за нарушение закона будут нести и рекламодатели, и распространители сообщений.

Поручение

Как составить договор поручения: суть, условия и образец

Выполнение каких-либо работ иногда требуют привлечения сторонней компании или физического лица. Чтобы такое сотрудничество было официальным, заключают договор поручения. Разберемся, в чем заключается его суть, какие условия обычно вносят в текст, как оформляют документально в зависимости от ситуации.

Как составить договор поручения: суть, условия и образец

Маркетплейсы будут размещать ссылки на сертификаты качества

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

НДС

Все коды видов операций по НДС: таблица

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

Все коды видов операций по НДС: таблица

Нейросеть для бухгалтеров или психиатр для нейросети

Наблюдаем прям бум какой то по теме «Нейросеть для бухгалтеров». Каждый второй зовет на какие то совершенно волшебные курсы, после которых можно смело заваливаться на диван с тазиком черешни смотреть Грисельду. А работать будет нейросеть.

Нейросеть для бухгалтеров или психиатр для нейросети

Товар просрочен и подлежит утилизации: как учитывать расходы

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

Товар просрочен и подлежит утилизации: как учитывать расходы

О подозрительных операциях нотариусы и майнеры будут сообщать в Росфинмониторинг

Майнеров криптовалют и нотариусов обязали соблюдать антиотмывочный закон 115-ФЗ.

Застройщиков обяжут рядом с ЖК возводить школы

Вместе с жилищными комплексами застройщики будут стоить объекты социальной и транспортной инфраструктуры.

⚡️ Итоги дня: ФАС раскрыла картель на торгах соцтоварами, активисты приклеили себя к взлетной полосе, а спортсмены жалуются на еду в Олимпийской деревне

Подготовили обзор главных событий дня — 25 июля 2024 года. Все самое интересное, что писали и обсуждали в сети, в одной подборке.

Банки

У ВТБ появился сервис покупки автомобилей частями

Сервис «ВТБ Авто» позволяет разделить покупку машины на части: сначала взять авто в аренду, а в конце срока выкупить его по остаточной стоимости.

Интересные материалы

Штрафы ГАИ

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

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