Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

Introducción a las herramientas de estadísticas de rendimiento para los agentes de lector del registro de replicación y distribución de duplicación

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 2892631
Introducción
Estadísticas de rendimiento agregadas a la mslogreader_historytable y la msdistribution_historytable en la base de datos de distribución en Microsoft SQL Server. Puede utilizar estas estadísticas para ver la historia reciente de rendimiento de los agentes de lector del registro de replicación y distribución de duplicación.

Nota: Primeros de estos cambios fueron realizados en las siguientes compilaciones de SQL Server:
  • 9.00.4220
  • 9.00.3315
  • 10.00.1806
  • 10.00.2714

Cada cinco minutos, las estadísticas de rendimiento para los agentes de lector del registro y de distribución están recordedin las tablas del historial. De forma predeterminada, se conservan sólo los datos de las últimas 48 horas. Un proceso de limpieza quita los datos de más de 48 horas. El valor predeterminado puede cambiarse mediante la ejecución del procedimientosp_changedistributiondb almacenados y especifica un nuevo valor para el parámetro history_retention .

El siguiente es un resultado de rendimiento de ejemplo de la tabla de historial para el agente de lector del registro:

<stats state="1" work="9" idle="295">  <reader fetch="8" wait="0"/>  <writer write="9" wait="0"/>  <sincelaststats elapsedtime="304" work="9" cmds="52596" cmdspersec="5753.000000">    <reader fetch="8" wait="0"/>    <writer write="9" wait="0"/>  </sincelaststats></stats> 

Existen tres eventos de estado que se pueden grabar:
EstadoDescripción
1Eventos normales que describan el lector y el escritor de rendimiento del subproceso.
2Provoca eventos que se producen cuando el subproceso de lector de un agente espera ya es hora de -messageintervaldel agente. (De forma predeterminada, el tiempo es 60 segundos). Si observa eventos de estado 2 que se registran para un agente, esto indica que el agente tarda mucho tiempo en escribir los cambios en el destino.
3Provoca eventos que se generan solamente por el agente de lector del registro al superar el tiempo- messageintervalespera a que el subproceso de escritura. Si observa eventos de estado 3 que se registran para el agente de lector del registro, esto indica que el agente tarda mucho tiempo en analizar los cambios replicados desde el registro de transacciones.
Subproceso de lector del agente de distribución
Las siguientes estadísticas de rendimiento demuestran una situación en la que no hay latencia en la topología de replicación y de que el cuello de botella es el subproceso de lector de agente de distribución. Este subproceso consulta la base de datos de distribución (Servidor de distribución>.. MSdistribution_history.Commentstable) para los comandos aplicar en el suscriptor.

<stats state="1" work="14798" idle="2035">
<reader fetch="14798" wait="193"></reader>
<writer write="12373" wait="9888"></writer>
<sincelaststats elapsedtime="424" work="415" cmds="296900" cmdspersec="713.000000">
<reader fetch="415" wait="7"></reader>
<writer write="377" wait="212"></writer>
</sincelaststats>
</stats>


El tiempo de espera del escritor de "sincelaststats" (212 segundos) aparece elevado. Esto es el tiempo que el subproceso de escritura que se espera para que el subproceso de lector suministrar los búferes que el subproceso de escritura se puede aplicar a la base de datos de suscriptor. Subproceso de lector de TheDistribution agente ejecuta el procedimiento almacenado desp_MSget_repl_commands .

Si observa gran escritor esperar horas en las estadísticas de rendimiento del agente de distribución, debe investigar el rendimiento de la ejecución del agente de distribución contra la base de datos y el servidor de distribución. En particular, debe investigar el tiempo de ejecución del procedimiento almacenado desp_MSget_repl_commands .
Subproceso de escritura del agente de distribución
Las siguientes estadísticas de rendimiento demuestran una situación en la que no hay latencia en la topología de replicación y de que el cuello de botella es el subproceso de lector de agente de distribución. Este subproceso consulta la base de datos de distribución (Servidor de distribución>.. MSdistribution_history.Comments tabla) para los comandos aplicar en el suscriptor.

Nota: El estado es 2 y el resultado es algo diferente de las estadísticas de estado 1. -Messageinterval valor configurado para 2 estado datos indican que el subproceso de lector tuvieron que esperar más tiempo que el agente de distribución. De forma predeterminada, el valor - messageinterval es de 60 segundos.

<stats state="2" fetch="48" wait="384" cmds="1028" callstogetreplcmds="321">
<sincelaststats elapsedtime="312" fetch="47" wait="284" cmds="1028" cmdspersec="3.000000"></sincelaststats>
</stats>


Si se aumenta el valor de -messageinterval, puede aparecer otra vez las estadísticas de estado 1 similares a los siguientes:

<stats state="1" work="1941" idle="0">
<reader fetch="717" wait="1225"></reader>
<writer write="1941" wait="134"></writer>
<sincelaststats elapsedtime="764" work="764" cmds="1170730" cmdspersec="1530.000000">
<reader fetch="258" wait="505"></reader>
<writer write="764" wait="50"></writer>
</sincelaststats>
</stats>


Nota: El tiempo de espera de recuperación de sincelaststats de segundos 505 es muy alto.

Si observa gran lector esperar horas en las estadísticas de rendimiento del agente de distribución, debe investigar el rendimiento de la ejecución del agente de distribución contra la base de datos y el servidor suscriptor. Utilice la herramienta de traza de profiler para investigar el rendimiento de la ejecución de los procedimientos almacenados de réplica. Normalmente los procedimientos almacenados se denominan como sigue:
  • sp_MSupd_ownertablename>
  • sp_MSins_ownertablename>
  • sp_MSdel_ownertablename>
Además, para determinar si el cuello de botella está basado en hardware o sistema, utilice al monitor de rendimiento para supervisar el rendimiento del sistema. Por ejemplo, utilizar el rendimiento monitor para supervisar los contadores de disco físico.
Subproceso de lector de agente de lector de registro
Las siguientes estadísticas de rendimiento demuestran una situación en la que no hay latencia en la topología de replicación y de que el cuello de botella es el subproceso de lector de agente de lector del registro. El subproceso de lector de agente de lector del registro examina el registro de transacciones de base de datos publicada para comandos entregar en la base de datos de distribución.

<Distribution server="">.. MSlogreader_history.Comments

</Distribution>
<stats state="1" work="301" idle="0">
<reader fetch="278" wait="0"></reader>
<writer write="12" wait="288"></writer>
<sincelaststats elapsedtime="301" work="301" cmds="104500" cmdspersec="347.000000">
<reader fetch="278" wait="0"></reader>
<writer write="12" wait="288"></writer>
</sincelaststats>
</stats>


La estadística de espera del escritor sincelaststats de 288 segundos aparece alta. Esto es el tiempo que el subproceso de escritura que se espera para que el subproceso de lector a suministrar búferes para aplicar. El subproceso de lector de agente de lector del registro ejecuta el procedimientosp_replcmdsalmacenados. Si observa gran escritor esperar subprocesos en las estadísticas de rendimiento del agente de lector del registro, debe investigar el rendimiento de la ejecución del agente de lector del registro con el servidor de publicación y la base de datos y, a continuación, investigar el tiempo de ejecución del procedimiento almacenado desp_replcmds .

La siguiente es la descripción de cada estadística de rendimiento:
EstadísticaEstadoDescripción
EstadoEstado 1: Este estado indica que el informe de rendimiento es generalmente después de una confirmación por lotes.

Estado 2: Subproceso indica que un lote de lectura del lector espera un tiempo más largo que el valor de la propiedad messageinterval.

Estado 3: Subproceso de escritura indica que una operación de escritura por lotes espera un tiempo más largo que el valor de-messageinterval .
comandos entregadossólo 2Este estado indica el número de comandos que lee theDistribution agente.
callstogetreplcmdssólo 2Este estado indica el número de llamadas al procedimiento almacenado de sp_MSget_repl_commandspor el agente de distribución.
trabajoEl valor representa el tiempo acumulado que el agente empleado en el trabajo desde el último inicio de agente. El tiempo no incluye el tiempo de inactividad.
inactivoEl valor representa el tiempo acumulado que el agente espera llamar al procedimiento de sp_replcmds almacenado cuando no hay transacciones de devoluciones de la llamada anterior o cuando el número de las transacciones es menor que el valor de la propiedad MaxTrans desde el último inicio de agente.
obtención del lectorEl valor representa el tiempo acumulado que el lector pasó desde el último inicio de agente. El tiempo no incluye el tiempo de inactividad y el tiempo de espera para el escritor.
espera del lectorEl valor representa el tiempo de espera para el escritor acumulado desde el último inicio de agente. El valor muestra el tiempo que se dedica a esperar el subproceso de escritura termine de utilizar el búfer de datos antes de que el lector puede llenar el búfer de datos de nuevo.
escritura de escritorEl valor representa el tiempo acumulado que el escritor pasó desde el último inicio de agente. El tiempo no incluye el tiempo de inactividad y el tiempo de espera para el lector.

Espera del escritor, este valor representa el tiempo de espera para el lector desde el último inicio de agente. El valor indica el tiempo que se dedica a esperar el subproceso de lector terminara de llenar el búfer de datos antes de que el escritor puede aplicar el búfer de datos.
sincelaststats_elapsed_timeEl nodo sincelaststats muestra estadísticas similares para el período que comienza en el último evento grabado stats. De forma predeterminada, el período es de cinco minutos. El tiempo no incluye el tiempo de inactividad. El valor representa el tiempo transcurrido desde el último evento grabado stats.
trabajo sincelaststatsEl valor representa el tiempo que dedicó el agente desde el último evento de estadísticas.
comandos entregados de sincelaststatsEl valor representa el número de comandos desde el último evento de estadísticas.
sincelaststats cmdspersecEl valor representa el número de comandos que se realizan por segundo desde el último evento de estadísticas.
búsqueda de sincelaststats\readerEl valor representa el tiempo acumulado que el lector pasó desde el último evento de estadísticas. El tiempo no incluye el tiempo de inactividad y el tiempo de espera para el escritor.
espera sincelaststats\readerEl valor representa el tiempo de espera para el escritor acumulado desde el último evento de estadísticas. El valor muestra el tiempo que se dedica a esperar el subproceso de escritura termine de utilizar el búfer de datos antes de lector puede llenar el búfer de datos de nuevo.
sincelaststats\writerEl valor representa el acumulado tiempo que pasó desde el último evento de estadísticas el escritor. El tiempo no incluye el tiempo de inactividad y el tiempo de espera para el lector.
espera sincelaststats\writerEl valor representa el tiempo de espera para el lector desde el último evento de estadísticas. El valor indica el tiempo que se dedica a esperar el subproceso de lector terminara de llenar el búfer de datos antes de que el escritor puede aplicar el búfer de datos.
Secuencia de comandos para cargar MSlogreader_history y MSdistribution_history ejecutar las estadísticas de los datos XML en una tabla que se puede consultar fácilmente
Hay 4 ayuda de ejemplos de secuencias de comandos que extraer las estadísticas de rendimiento en una tabla permanente que se puede consultar fácilmente. También hay un procedimiento almacenado que correlaciona aproximadamente las estadísticas de rendimiento del agente de lector del registro para las estadísticas de rendimiento del agente de distribución (es decir, a la tabla de perf_stats_tab).

Para obtener ejemplos de secuencias de comandos, visiteen este ejemploy haga clic en KB2892631.zipy, a continuación, uncompressfile KB2892631.zip, verá los siguientes cuatro archivos de comandos:
  • Versión original de la file:perf_stats_script.sql Perf_stats_script.sql
  • Archivo revisado de Usp_move_stats_to_table.sql: usp_move_stats_to_table.sql
  • Archivo revisado de Sp_endtoend_stats.sql: sp_endtoend_stats.sql
  • Otra secuencia de comandos para leer los datos en tiempo real o desde una copia de seguridad de base de datos de distribución: Additional_Script.sql

Notas:

  • La tabla perf_stats_tab contiene las estadísticas de rendimiento para el agente de lector del registro y el agente de distribución. Pueden consultar las estadísticas por separado mediante el tipo donde = cláusula 'Distrib' o el tipo donde = 'LogRead' cláusula.
  • El procedimiento almacenado de move_stats_to_tab abre un cursor en la tabla mslogreader_history y la tabla msdistribution_history y, a continuación, llama al procedimiento de move_stats_to_tab almacenado para cada fila con el fin de extraer los datos de las estadísticas de rendimiento de XML en la tabla perf_stats_tab.

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 2892631 - Última revisión: 05/04/2016 07:44:00 - Revisión: 2.0

  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2892631 KbMtes
Comentarios