Перед тем, как собирать данные счетчиков производительности, я задумался о месте хранения; варианта было два: либо файл, либо sql-база. Хорошо бы сразу получить данные в базе, но сбор - это каждый раз insert, т.е. лишняя нагрузка на сервер, именно поэтому пришлось выбрать вариант хранения в blg-файле.
Есть 0, есть 20, а между ними ничего не указать. После безрезультатного ковыряния настроек системного монитора я пришел к необходимости загрузить этот файл в базу данных. Стал искать в интернете, на момент написания этой статьи рускоязычных примеров не было, англоязычных полно, поэтому взял пример самой популярной на тот момент: https://blogs.msdn.microsoft.com/edwinh/2016/11/07/using-relog-exe-to-import-perfmon-logs-into-a-sql-database-then-use-excel-pivot-charts/
Итак, двигаемся также по шагам.
1) В MSSQL создаем базу данных, в моем случае PerformanceAnalize.
2) Создаем источник данных ODBC:
2.1) В командной строке или в "Пуск-->Выполнить" вписать odbcad32.exe и Enter.
2.2) На закладке "Системный DNS" (System DNS) добавляем новый источник данных, выбираем SQL Server (не native client) и настраиваем параметры:
2.3) в процессе настройки подключения предпочтительней выбирать NT-аутентификацию.
3) Открываем notepad++ и пишем следующий код:
$sourceblg = "F:\PerfLogs\20112017010346.blg"
$sqlDSNconnection = "SQL:Perfmon_DSN!logfile"
$AllArgs = @($sourceblg, '-f', 'SQL', '-o', $sqlDSNconnection)
& 'relog.exe' $AllArgs
Полное имя blg-файла необходимо указать свое. Если нужно несколько файлов загрузить, также инициализируем и перечисляем через запятую, т.е.
$sourceblg1 = "F:\PerfLogs\b1.blg"
$sourceblg2 = "F:\PerfLogs\b2.blg"
$AllArgs = @($sourceblg1, $sourceblg2, '-f', 'SQL', '-o', $sqlDSNconnection)
Сохраняем файл с расширением *.ps1
4) Открываем PowerShell, желательно под админом во избежание еще каких-нибудь ограничений. Запускаем созданный файл-скрипт:
C:>F:\ImportBLGtoSQL.ps1
И получаем сообщение о запрете запуска скриптов. Поэтому шаг следующий.
5) Для возможности запуска скриптов в PowerShell выполнить:
Set-ExecutionPolicy Unrestricted
И на вопрос ввести Y 6) Теперь повторяем C:>F:\ImportBLGtoSQL.ps1
И данные загружаются в базу.
Результаты:
Далее для получения графиков можно использовать различные программы или написать свою. В MS Excel данные выглядят так:
Эта ось ординат дает уже более точную информацию.
Комментариев нет:
Отправить комментарий