В случае с 1С этот вопрос встает скорее рано, чем поздно.
Речь пойдет про серверный вариант 1С, развернутый на Windows, с СУБД MS SQL.
А конкретно про сбор счетчиков системного монитора с помощью команды logman.
Итак.
Для анализа возможных проблем будем собирать следующие счетчики (описание счетчиков во вложенном файле):
- «Универсальные» счетчики:
- PhysicalDisk(*)Avg. Disk Queue Length
- PhysicalDisk(*)Avg. Disk sec/Write
- PhysicalDisk(*)Avg. Disk sec/Read
- Processor(_Total)% Processor Time
- SystemProcessor Queue Length
- MemoryAvailable MBytes
- Network Interface(*)Bytes Total/sec
- Для серверов 1С:
- Process(«ragent*»)% Processor Time
- Process(«rmngr*»)% Processor Time
- Process(«rphost*»)% Processor Time
- Process(«ragent*»)Working Set — Private
- Process(«rmngr*»)Working Set — Private
- Process(«rphost*»)Working Set — Private
- Для серверов MS SQL
- Process(sqlservr)% Processor Time
- SQLServer:Buffer ManagerBuffer cache hit ratio
- SQLServer:Buffer ManagerPage life expectancy
Для формирования списка счетчиков удобно использовать команду logman
Cинтаксис следующий:
logman create counter CounterName -f bincirc -c "PhysicalDisk(*)Avg. Disk Queue Length" "PhysicalDisk(*)Avg. Disk sec/Write" -si 10 -v mmddhhmm
create counter CounterName — создать счетчик с именем «CounterName»
-f bincirc — результат помещать в бинарный файл в формате *.blg
-c «PhysicalDisk(*)Avg. Disk Queue Length» «PhysicalDisk(*)Avg. Disk sec/Write» — собирать информацию по счетчикам:
-
- PhysicalDisk(*)Avg. Disk Queue Length
- PhysicalDisk(*)Avg. Disk sec/Write
-si 10 — собирать информацию каждые 10 секунд
-v mmddhhmm — формат «версии» выходного файла (например, 1c_01250045.blg)
Другой вариант использования команды logman — это когда список счетчиков вынесен в отдельный файл. В этом случае вместо параметра «-с» необходимо использвоать параметр «-cf», например:
logman create counter CounterName -f bincirc -cf counters_1c.lst -si 10 -v mmddhhmm
при этом файл counters_1c.lst должен содержать список счетчиков, например:
PhysicalDisk(*)Avg. Disk Queue Length Processor(_Total)% Processor Time Process(ragent*)% Processor Time
Команда logman не всесильна. Некоторые свойства приходится прописывать вручную:
- Корневая папка
- Формат имени вложенной папки: yyyyMMdd (или yyyyMM) + Приписывать имя компьютера к имени вложенной папки
- Условия остановки: Перезапустить группу сборщиков данных при достижении предела с длительностью 1 час (для серверов 1С, так как там может меняться состав процессов ragent, rmngr, rphost)
При перезапуске компьютера счетчики сами не запустятся. Запустить их можно либо с помощью bat файла, либо с помощью планировщика заданий. Пример команды запуска сбора счетчиков с помощью командного файла есть во вложенном файле. А планировщик заданий настраивается так…
Запускаем сам планировщик (taskschd.msc):
Открываем наше задание и переходим на закладку с тригерами:
Примечания:
- На разных версиях Windows названия счетчиков могут различаться
- C параметром -c можно использовать русские наименования счетчиков
- C параметром -с некоторые символы необходимо «экранировать». Так например символ «%» необходимо экранировать таким же символом «%%».
- C параметром -cf русские наименования у меня не получилось «скормить» системному монитору
Источники информации:
- http:// /1c-v8/%d1%83%d1%81%d0%ba%d0%be%d1%80%d0%b5%d0%bd%d0%b8%d0%b5-%d0%be%d0%bf%d1%82%d0%b8%d0%bc%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-1%d1%81-2025/
- logman / ?
- https://msdn.microsoft.com/ru-ru/library/cc755366%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
- https://technet.microsoft.com/ru-ru/library/cc753820%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
- http://windowsnotes.ru/windows-server-2008/schetchiki-proizvoditelnosti-chast-2/
- личный опыт
Содержимое архива: скрипты для добавления счетчиков системного монитора для серверов 1С, СУБД MS SQL
— Описание счетчиков.xls — xls документ с описанием счетчиков и ссылками на данную информацию
— addcounters _out_cfg.cmd — скрипт, использующий внешний файл со списком счетчиков
Directory of Сервер 1С
— addcounters_1c.cmd – скрипт для добавления счетчиков на сервера приложений 1С
— counters_1c.lst – внешний файл со списком счетчиков для серверов 1С
Directory of Сервер СУБД
— addcounters_dbms.cmd – скрипт для добавления счетчиков на сервера MS SQL
— counters_dbms.lst — внешний файл со списком счетчиков для серверов MS SQL
Не хватает описания, что каждый из счетчиков собирает, нет описания значений показателей, в пределах которых считается, что система работает в оптимальном режиме, без особых нагрузок и ей всего хватает.
(1) qwed557, согласен, добавлю, спасибо.
(1) qwed557, добавил описание в виде файла.
Добавить таблицу в публикацию в приемлемом виде для меня оказалось непосильной задачей.
Спасибо. Давно использую системный монитор. Очень помогает. У меня счетчики настроены на 24-часа. — так удобнее анализировать.
Я уж обрадовался, что в файле описание всех счетчиков, а не только приведенных в статье:) Но все равно респект за публикацию!
Столкнулся с тем, что в русских версиях Windows названия счетчиков идут по-русски. получить список всех доступных можно командой PowerShell (Get-Counter -ListSet *).counter
(6)
Да, Сергей, спасибо.
Дополнительно по команде
можно посмотретьздесь
Чтобы задать счетчики в файле для русского Windows, делаю по простому : задаю нужные счетчики в perfmon и создаю шаблон. В шаблоне (xml-файл) выбираю строки счетчиков — там все прозрачно — переношу в файл списка счетчиков.