Установка процессорных квот 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.

Дневник продакта. Зачем нужна подписка Клерк.Премиум и сколько денег она экономит

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

Дневник продакта. Зачем нужна подписка Клерк.Премиум и сколько денег она экономит
99

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

Пользователи стали тратить на маркетплейсах в два раза больше денег

Большинство клиентов оплачивают покупки на маркетплейсах с помощью банковских карт, а также через СБП. На Систему быстрых платежей пришлось 59% от объема затрат.

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

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

🚦 Работодатель не вправе тестировать водителя на знание ПДД + опрос и мнение кадрового аудитора-консультанта

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

КУБ дня. Про учет ГСМ

Ежедневно в телеграм-чат «Красный уголок бухгалтера» поступает лавина вопросов. Выбираем самый злободневный и публикуем вместе с ответами коллег и экспертов.

КУБ дня. Про учет ГСМ
Лучшие спикеры, новый каждый день

При покупке доли квартиры имущественный вычет можно оформить только на свою долю

Если мать и дочь на деньги дочери купили квартиру и оформили ее пополам, то дочь может получить имущественный вычет только на 1/2 квартиры.

ГАИ может отказаться ставить на учет ввезенные иномарки

Перекупщикам, которые перепродают в течение года ввезенный из-за границы автомобиль, придется заплатить утилизационный сбор от 300 тысяч до 1,3 млн рублей. Иначе авто не поставят на учет.

10 программ льготного финансирования для бизнеса

Программы господдержки для бизнеса позволяют получить льготные займы со ставками от 3%, но только в некоторых банках и с соблюдением ограничений. Разобрались, где можно получить такой займ и как это сделать.

10 программ льготного финансирования для бизнеса
Опытом делятся эксперты-практики, без воды

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

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

Увеличение уставного капитала ООО за счет вкладов всех участников: порядок и особенности процедуры увеличения уставного капитала общества с ограниченной ответственностью

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

Увеличение уставного капитала ООО за счет вкладов всех участников: порядок и особенности процедуры увеличения уставного капитала общества с ограниченной ответственностью

Сократить расходы на бухгалтерию, не увольняя сотрудников: миссия невыполнима

Если руководитель поставил задачу снизить расходы компании за счёт всех отделов, кажется, что единственный вариант — расстаться с частью сотрудников. Так ли это? Рассказываем об альтернативных способах экономии.

Сократить расходы на бухгалтерию, не увольняя сотрудников: миссия невыполнима

По разовым сделкам тоже надо применять ККТ

Если поступила оплата наличными или безналом от физлица, продавец должен применить ККТ и сформировать кассовый чек. Даже если это одна-единственная подобная сделка.

Как безопасно использовать нейросети в работе

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

Как безопасно использовать нейросети в работе

Календарь вебинаров для бухгалтера в июне 2024. Платные и бесплатные

Собрали для вас анонсы вебинаров на июнь 2024 года.

Миникурсы, текстовые и видеоинструкции для бухгалтеров

Как отказать в запросе пояснений по камеральной проверке, если прошло три месяца со сдачи отчетности: формулировка

Камеральная проверка — важный инструмент налогового контроля, позволяющий выявить возможные нарушения в представленной отчетности. Как ответить налоговикам, если срок запроса пояснений по НК уже прошел?

Иллюстрация: Вера Ревина/Клерк.ру

Налоговые перспективы на 2025 год. Налогообложение дивидендов и корпоративных сделок

Каким будет налогообложение дивидендов и корпоративных сделок с акциями и долями российских организаций в 2025 году.

Иностранные работники

Разъяснение статусов иностранных граждан в России

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

Разъяснение статусов иностранных граждан в России

Комитет Госдумы одобрил поправки в НК по прогрессивному НДФЛ и НДС для упрощенцев

Комитет Госдумы по бюджету и налогам рекомендовал принять в 1-ом чтении законопроект с масштабными поправками в НК.

Мошенники пугают жертв просрочкой по ипотеке

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

Санкции против Мосбиржи не повлияют на обмен заблокированных бумаг

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

Вакансии

Новые вакансии для бухгалтеров и финансистов Добавить вакансию
НДС

Бухгалтеры считают, что НДС на УСН – это просто скрытое увеличение налога

«Разве 5% или 7% без права на вычет – это НДС?», – задаются вопросом бухгалтеры.

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

ЭДО

Как создать МЧД с помощью сервиса «Астрал Доверенность»

С 1 сентября 2024 года использование машиночитаемой доверенности обязательно. При этом у руководителя может возникнуть вопрос: «Как лучше создать МЧД — с помощью сервиса ФНС или сервиса Астрал Доверенность?»

Как создать МЧД с помощью сервиса «Астрал Доверенность»