2015-08-04 31 views
9

Sto raccogliendo alcuni dati sulle prestazioni su varie macchine virtuali. Il DataCollectorSet viene inizializzato come segue:Strani valori nel set di raccolta dati

set.Subdirectory = set.name; 
set.SubdirectoryFormat = AutoPathFormat.plaYearMonthDay; 

var schedule = set.Schedules.CreateSchedule(); 
schedule.Days = WeekDays.plaEveryday; 
schedule.StartDate = DateTime.Now; 

set.Schedules.Add(schedule); 

set.Commit(set.name, null, CommitMode.plaCreateNew); 

poi aggiungo un collezionista:

var collector = (IPerformanceCounterDataCollector)set.DataCollectors.CreateDataCollector(DataCollectorType.plaPerformanceCounter); 

collector.FileName = counterPath.Replace("\\", "_"); 
collector.LogAppend = true; 
collector.FileNameFormat = AutoPathFormat.plaYearMonthDay; 
collector.SampleInterval = 60u; 
collector.SegmentMaxRecords = 1440; 
collector.LogFileFormat = FileFormat.plaTabSeparated; 

set.DataCollectors.Add(collector); 

var counters = new string[1]; 
counters[0] = counterPath; 
collector.PerformanceCounters = counters; 

set.Commit(set.name, null, CommitMode.plaCreateOrModify); 

Quando eseguo questo con \LogicalDisk(_Total)\% Disk Time, su decine di macchine, ottengo valori che sembrano percentuali, come previsto - sono per lo più intorno alle 0.00 fino alle 5.00, ma a volte, durante un'alta attività, entrano nelle doppie cifre.

Su una macchina, tuttavia, tutti i valori sono superiori a 100. Appaiono tutti tra circa 120 e 170, indipendentemente dal fatto che la macchina sia occupata o meno. Nel frattempo, eseguire perfmon manualmente con lo stesso contatore mostra i valori presumibilmente corretti: si avvicina al 100% quando è occupato e rimane al di sotto del 10%.

Ecco le prime linee di uscita da una macchina con i risultati attesi:

"(PDH-TSV 4,0) (Mitteleuropäische Sommerzeit) (- 120)" "\ BR-DOMINIO \ Logischer Datenträger (_Total) \ Zeit (%) " " 08/04/2015 01: 00: 18.425 "" " " 08/04/2015 01: 01: 18.407 "" 2.4181960253316448 " " 08/04/2015 01: 02: 18.406 "" 0.24834083322649675 " "08.04.2015 01: 03: 18,404" ",19900577879613995"

Da un presumibilmente mal configurato, invece, simile a questa:

"(PDH-TSV 4.0) (Mitteleuropäische Sommerzeit) (- 120)" "\ BR-SQL-03 \ Logischer Datenträger (_Total) \ Zeit (%)" 01/"08/04/2015 09: 22: 07,685" "" 01/"08/04/2015 09: 23: 07,686" "138.63521370727958" "08/04/2015 09: 24: 07.679" "141.86027406369067" "08/04/2015 09: 25: 07.679" "124.80150934108948"

Le macchine che funzionano come previsto eseguono una gamma di sistemi operativi (2008 R2, 2012, 2012 R2) sia in tedesco che in inglese, e non sembra essere qualcosa con le impostazioni regionali.

+1

[Questa domanda] (http://serverfault.com/q/143208) può fornire un suggerimento sul motivo per cui i contatori di prestazioni potrebbero superare il 100%. – dasblinkenlight

risposta

2

% tempo disco è semplicemente la lunghezza media della coda del disco moltiplicata per 100. Vedere l'articolo this per ulteriori dettagli.

Il contatore "% Disk Time" non è altro che il "Avg. Contatore "Lunghezza coda disco" moltiplicato per 100. È lo stesso valore visualizzato in una scala diversa. Se il Avg. La lunghezza della coda del disco è uguale a 1, il tempo del disco% sarà uguale a 100. Se il valore medio è La lunghezza della coda del disco è 0,37, quindi il tempo del disco% sarà 37. Questo è il motivo per cui è possibile vedere che% Disk Time è maggiore del 100%, tutto ciò che serve è il Avg. Il valore della lunghezza della coda del disco è maggiore di 1.

+1

Grazie anche per avermi inviato a google-translate 'Logischer Datenträger (_Total) \ Zeit (%)' solo per essere sicuro :) –

+0

Oh, mi dispiace per quello. Ho dimenticato di tradurre tutto in inglese. ;) –