9. Management Pack
XML
Discovery Monitor Rule
Script Script Script
10.
11.
12.
13. Сервер
Система
Консоль
Агент
Продукт
MPs +
scripts
Система
Система
SQL
MPs +
MPs + scripts
scripts
Агент
14. Минимизация влияния на объект
мониторинга
Минимизация потребления ресурсов
Определение максимального количества
объектов мониторинга
Рекомендации по конфигурации SCOM
2012
Рекомендации по масштабированию
15. Анализ структуры продукта
Подготовка теста
Тест (сбор данных)
Обработка данных
Анализ результатов
Сравнение результатов
Улучшение
16. Сервер
Система
Консоль
Агент
Приложение
Система
Система
SQL
Скрипт
Агент
17.
18. Parameter name Value
Test duration 1 hours
Amount databases 50 databases
Amount file groups 50 DBs * 1 FG= 50
Amount files 50 DBs * 1 FG * 2 File = 100
Amount log files 50 DBs * 1 Log File = 50
Total amount files 150
SQL Load 35-40%
SQL Load Duration 1 hour
SQL Load Type SELECT, INSERT
Database space monitoring Turn on all monitors and all performance counters. Parameter “Interval
seconds” changes for all objects from 15 min to 7 min.
Database space monitoring Turn on all monitors and all performance counters. Parameter “Interval
seconds” changes for all objects from 15 min to 7 min.
Discovery databases, file Enabled. Parameter “Interval seconds” changes for all objects from 2 hours to
groups, files 15 min.
19. Старт сбора Нет
Нагрузка
данных нагрузки
Нет Агента Агент Нет MP
Экспорт
Импорт MP Нагрузка
Результатов
20. # Use PowerShell Remoting to execute script block on
target server
Invoke-Command -ComputerName $server -ArgumentList
$DataCollectorName -ScriptBlock
{param($DataCollectorName)
# Create a new DataCollectorSet COM object, read in
the XML file,
# use that to set the XML setting, create the
DataCollectorSet,
# start it.
$datacollectorset = New-Object -COM
Pla.DataCollectorSet
$xml = Get-Content C:perftempDataCollectorSet.xml
$datacollectorset.SetXml($xml)
$datacollectorset.Commit("$DataCollectorName" ,
$null , 0x0003) | Out-Null
$datacollectorset.start($false)
22. #Create DB and views
$conn=new-object System.Data.SqlClient.SQLConnection
$conn.ConnectionString = "Server=.;Integrated Security=True;"
$conn.Open()
$conn.State
$cmd = New-Object System.Data.SqlClient.SqlCommand
$cmd.connection = $conn
#Create DB PerfTest if it not exist
$cmd.commandtext = "IF NOT EXISTS (SELECT * FROM sys.databases WHERE name =
'PerfTest')
BEGIN
CREATE DATABASE PerfTest
END"
$cmd.executenonquery()
#Create table for Perf Test DB
$cmd.commandtext = "USE [PerfTest]
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'MP_DataCollector')
BEGIN
DECLARE @script nvarchar(max) = '
CREATE TABLE [dbo].[MP_DataCollector](
[(PDH-CSV 4 0) (Pacific Standard Time)(480)] [nvarchar](255) NULL,
[Processor(_Total) % Processor Time][float] NULL,
[Memory Available MBytes][float] NULL,
[LogicalDisk(C:) % Free Space][float] NULL,
23.
24. Average values without load.
Parameter Original MP MP Beta 1
CPU
Average (%) 2.01 2.71
Max (%) 51.17 88.22
SQL Server Requests
Average (requests/sec) 0.20 0.40
Average values by total time
Parameter Original MP MP Beta 1
Memory
Average (MB) 103.77 170.22
Health Service
Max (Workflow Count) 3435 6694
Durations
script (%) 1.20 5.32
Total Peak Durations (> 2 %)
Monitoring Processes (%) 2.61 7.04
25. Высокое потребление ресурсов
CPU пики
Утечки памяти
Перезагрузка конфигурации
Нет cookdown
Нарушение работы мониторящейся
системы
26.
27.
28.
29. Script 1 Monitor 1
Script 2 Monitor 2
Script N Monitor N