@
leyendo...
Tecnología

Troubleshooting essentials – Contadores, parte 1

Como prometí hace poco, retomo entonces las series dejadas de lado y arranco con temas de Troubleshooting y particularmente establecer qué contadores medir para SQL Server 2012.

Para ello, vamos a usar los contadores que recopila el Data Collector y que enumeramos a continuación:

<Counter>\Memory\% Committed Bytes In Use</Counter>
<Counter>\Memory\Available Bytes</Counter>
<Counter>\Memory\Cache Bytes</Counter>
<Counter>\Memory\Cache Faults/sec</Counter>
<Counter>\Memory\Committed Bytes</Counter>
<Counter>\Memory\Free & Zero Page List Bytes</Counter>
<Counter>\Memory\Modified Page List Bytes</Counter>
<Counter>\Memory\Pages/sec</Counter>
<Counter>\Memory\Page Reads/sec</Counter>
<Counter>\Memory\Page Write/sec</Counter>
<Counter>\Memory\Page Faults/sec</Counter>
<Counter>\Memory\Pool Nonpaged Bytes</Counter>
<Counter>\Memory\Pool Paged Bytes</Counter>
<Counter>\Memory\Standby Cache Core Bytes</Counter>
<Counter>\Memory\Standby Cache Normal Priority Bytes</Counter>
<Counter>\Memory\Standby Cache Reserve Bytes</Counter>
<Counter>\Memory\Pool Paged Bytes</Counter>
<Counter>\Memory\Write Copies/sec</Counter>
<Counter>\Process(_Total)\*</Counter>
<Counter>\Process($(TARGETPROCESS))\*</Counter>
<Counter>\Process(*)\Thread Count</Counter>
<Counter>\Process(*)\% Processor Time</Counter>
<Counter>\Process(*)\IO Read Bytes/sec</Counter>
<Counter>\Process(*)\IO Write Bytes/sec</Counter>
<Counter>\Process(*)\Private Bytes</Counter>
<Counter>\Process(*)\Working Set</Counter>
<Counter>\Processor(*)\% Processor Time</Counter>
<Counter>\Processor(*)\% User Time</Counter>
<Counter>\Processor(*)\% Privileged Time</Counter>
<Counter>\Server Work Queues(*)\Queue Length</Counter>
<Counter>\LogicalDisk(*)\% Disk Time</Counter>
<Counter>\LogicalDisk(*)\Avg. Disk Queue Length</Counter>
<Counter>\LogicalDisk(*)\Avg. Disk Read Queue Length</Counter>
<Counter>\LogicalDisk(*)\Avg. Disk Write Queue Length</Counter>
<Counter>\LogicalDisk(*)\Avg. Disk sec/Read</Counter>
<Counter>\LogicalDisk(*)\Avg. Disk sec/Write</Counter>
<Counter>\LogicalDisk(*)\Avg. Disk sec/Transfer</Counter>
<Counter>\LogicalDisk(*)\Disk Reads/sec</Counter>
<Counter>\LogicalDisk(*)\Disk Bytes/sec</Counter>
<Counter>\LogicalDisk(*)\Disk Writes/sec</Counter>
<Counter>\LogicalDisk(*)\Split IO/sec</Counter>
<Counter>\System\Processor Queue Length</Counter>
<Counter>\System\File Read Operations/sec</Counter>
<Counter>\System\File Write Operations/sec</Counter>
<Counter>\System\File Control Operations/sec</Counter>
<Counter>\System\File Read Bytes/sec</Counter>
<Counter>\System\File Write Bytes/sec</Counter>
<Counter>\System\File Control Bytes/sec</Counter>
<Counter>\Network Interface(*)\Bytes Total/sec</Counter>
<Counter>\Network Interface(*)\Output Queue Length</Counter>
<Counter>\$(INSTANCE):Buffer Manager\Stolen pages</Counter>
<Counter>\$(INSTANCE):Buffer Manager\Page life expectancy</Counter>
<Counter>\$(INSTANCE):Memory Manager\Memory Grants Outstanding</Counter>
<Counter>\$(INSTANCE):Memory Manager\Memory Grants Pending</Counter>
<Counter>\$(INSTANCE):Databases(_Total)\Transactions/sec</Counter>
<Counter>\$(INSTANCE):Databases(tempdb)\Transactions/sec</Counter>
<Counter>\$(INSTANCE):Databases(*)\Active Transactions</Counter>
<Counter>\$(INSTANCE):General Statistics\Logins/sec</Counter>
<Counter>\$(INSTANCE):General Statistics\Logouts/sec</Counter>
<Counter>\$(INSTANCE):General Statistics\User Connections</Counter>
<Counter>\$(INSTANCE):General Statistics\Logical Connections</Counter>
<Counter>\$(INSTANCE):General Statistics\Transactions</Counter>
<Counter>\$(INSTANCE):General Statistics\Processes blocked</Counter>
<Counter>\$(INSTANCE):General Statistics\Active Temp Tables</Counter>
<Counter>\$(INSTANCE):SQL Statistics\Batch Requests/sec</Counter>
<Counter>\$(INSTANCE):SQL Statistics\SQL Compilations/sec</Counter>
<Counter>\$(INSTANCE):SQL Statistics\SQL Re-Compilations/sec</Counter>
<Counter>\$(INSTANCE):SQL Statistics\SQL Attention rate</Counter>
<Counter>\$(INSTANCE):SQL Statistics\Auto-Param Attempts/sec</Counter>
<Counter>\$(INSTANCE):SQL Statistics\Failed Auto-Params/sec</Counter>
<Counter>\$(INSTANCE):Plan Cache(_Total)\Cache Hit Ratio</Counter>
<Counter>\$(INSTANCE):Plan Cache(Object Plans)\Cache Hit Ratio</Counter>
<Counter>\$(INSTANCE):Plan Cache(SQL Plans)\Cache Hit Ratio</Counter>
<Counter>\$(INSTANCE):Plan Cache(Temporary Tables & Table Variables)\Cache Hit Ratio</Counter>
<Counter>\$(INSTANCE):Transactions\Free Space in tempdb (KB)</Counter>
<Counter>\$(INSTANCE):Workload Group Stats(*)\Active requests</Counter>
<Counter>\$(INSTANCE):Workload Group Stats(*)\Blocked tasks</Counter>
<Counter>\$(INSTANCE):Workload Group Stats(*)\CPU usage %</Counter>

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Ojo, estos son capturados directamente desde las propiedades del Data Collector y para alimentarlos directamente hacia una plantilla de System Monitor hay que hacer un esfuerzo enorme que, luego de un par de días, desistí y decidí alimentar a mano los contadores y luego si generar la plantilla, que es lo que voy a mostrar ahora.

Abran entonces el System Monitor en su sistema operativo Windows Server 2008 R2 SP1. Debe verse así:

SysMon 01

Generen un nuevo “Data Collector Set”, yo lo he llamado SQL-Baseline y agreguen los contadores. Creenlo de manera manual, por el momento; ya después podrán usar la plantilla que se generará para crear nuevos conjuntos a partir de ésta.

SysMon 02

Presionar Next y en la siguiente ventana, dejarla como se aprecia a continuación:

SysMon 03

Presionar Next y en la siguiente ventana agreguen los contadores requeridos, de acuerdo con la lista anterior:

SysMon 04

Luego de agregar los contadores, 78 exactamente, la ventana debe verse así:

SysMon 05

Presionar Next en la siguiente ventana para la carpeta en donde se recolectarán los contadores y luego dejar la ventana como se ve a continuación:

SysMon 06

Al presionar Finish, aparece esta ventana:

SysMon 07

Validen particularmente que en la pestaña de “Stop Condition” no está habilitada la casilla “Stop when all data collectors are finished” porque sino les capturará solo un registro.

Presionar OK para volver a la pantalla principal de System Monitor.

En dicha ventana, seleccionen el conjunto creado anteriormente y en el panel derecho, seleccionen el conjunto de datos y den clic derecho para la siguiente ventana:

SysMon 08

Importante, para posterior análisis en Excel 2010, que el formato del archivo sea CSV. Vayan a la pestaña “File” y dejenla como se aprecia a continuación:

SysMon 09

Presionar OK.

Lo que viene ahora es aprovechar este conjunto para generar una plantilla de contadores para, por ejemplo, establecer una linea base de SQL Server 2012.

Para esto, seleccionamos el conjunto y damos clic derecho para seleccionar “Save Template” y escribir el nombre del archivo. Lo nombré “SQL-Baseline.XML”.

Si abrimos este archivo, dando doble clic, debe verse así:

SysMon 10

Que indica que está bien formado. Con esto, dejamos entonces este primer post en cuanto a contadores de desempeño y configuración de un conjunto estándar de éstos y creación de una plantilla.

En las próximas dos entregas, generación de dos conjuntos para recolectar datos por la mañana y por la tarde y posteriormente análisis mediante Microsoft Excel 2010 de estos datos y algunas conclusiones.

Saludos.

About these ads

Comentarios

Los comentarios están cerrados.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 41 seguidores

%d personas les gusta esto: