Momentan sunteți offline, așteptați să vă reconectați la internet

Introducere în instrumentele de statistici de performanță pentru reproducere jurnal Reader și distribuire reproducerea agenți

IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată și poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate și articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cunoștințe în mai multe limbi. Articolele traduse automat și post-editate pot conține greșeli de vocabular, sintaxă și/sau gramatică. Microsoft nu este responsabil de inexactitățile, erorile sau daunele cauzate de traducerea greșită a conținutului sau de utilizarea acestuia de către clienți. Găsiți mai multe informații despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 2892631
Introducere
Performanță statistici s-au adăugat la mslogreader_historytable și msdistribution_historytable pe baza acoperire de date de distribuire în Microsoft SQL Server. Utilizaţi aceste statistici pentru a vedea Istoricul de performanță recente de agenți de reproducere jurnal Reader și distribuirea de reproducere.

Notă Aceste modificări au fost mai întâi în următoarele compilările SQL Server:
  • 9.00.4220
  • 9.00.3315
  • 10.00.1806
  • 10.00.2714

La fiecare cinci minute, statisticile de performanță pentru agenți de jurnal Reader și distribuire sunt recordedin tabelele de istoric. implicit, se păstrează numai datele pentru ultimele 48 de ore. Un proces de curățare elimină datele pe care este mai vechi de 48 de ore. valoare implicită poate fi modificată prin executarea proceduriisp_changedistributiondb stocate și specificarea o nouă valoare pentru parametrul history_retention .

Aceasta este o mostră performanță ieșire din tabelul de istoric pentru agentul cititor de jurnal:

<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> 

Există trei evenimente de stare, care pot fi înregistrate:
StareDescrierea
1Normal evenimentele care descriu atât reader și scris de performanță fir.
2Ridicat evenimentele care se produce când un agent reader fir așteaptă mai mare de agent - messageintervalmarcă de timp. (În mod implicit, timpul este 60 de secunde). Dacă observați State 2 evenimente care sunt înregistrate pentru un agent, acest lucru indică faptul că agentul durează mult marcă de timp pentru a scrie modificări la destinație.
3Ridicat de evenimente care sunt generate numai de către Agent Reader jurnal Când firul scris așteaptă mai mult marcă de timp- messageinterval. Dacă observați starea 3 evenimente care sunt înregistrate în jurnal Reader agentului, acest lucru indică faptul că agentul durează mult marcă de timp pentru a scana reprodus modificările din jurnalul de tranzacții.
Fir de cititor de distribuire Agent
Următoarele statistici performanță demonstrează o situație în care există latență în topologie reproducere și care este zona de blocaj firul cititor de distribuire Agent. Acest fir interoghează (distribuire) bazei acoperire de dateServer distribuție>.. MSdistribution_history.Commentstable) pentru comenzi pentru a aplica la abonat.

<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>


Timpul de aşteptare a scris "sincelaststats" (212 secunde) apare înaltă. Acesta este timpul de scris firul firului de reader să furnizeze buffers care firul scris poate aplica la baza acoperire de date. Fir de cititor TheDistribution Agent execută procedurasp_MSget_repl_commands stocate.

Dacă observați ridicată writer așteptați ori în statisticile de performanță Agent de distribuire, ar trebui să investigheze performanța de executare de distribuire Agent împotriva server distribuție și baze acoperire de date. În special, care ar trebui să investigheze data execution procedurasp_MSget_repl_commands stocate.
Fir de scris de distribuire Agent
Următoarele statistici performanță demonstrează o situație în care există latență în topologie reproducere și care este zona de blocaj firul cititor de distribuire Agent. Acest fir interoghează (distribuire) bazei acoperire de dateServer distribuție>.. MSdistribution_history.Comments table) pentru comenzi pentru a aplica la abonat.

Notă Starea este 2, iar rezultatul este oarecum diferit de stare 1 statistici. Stare 2 stare date indică faptul că firul reader a trebuit să aştepte mai mult decât Agent de distribuire configurat- messageinterval valoare. implicit, valoarea - messageinterval este de 60 de secunde.

<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>


Dacă valoarea - messageintervaleste crescută, este posibil să primiți din nou statistici State 1, care seamănă cu următoarele:

<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>


Notă Sincelaststats aduce aşteptaţi marcă de timp de secunde 505 este foarte mare.

Dacă observați înaltă reader așteptați ori în statisticile de performanță Agent de distribuire, ar trebui să investigheze performanța de executare de distribuire Agent împotriva abonat server și baze acoperire de date. Utilizați instrumentul de urmărire profiler pentru a investiga performanța de executare a procedurilor stocate de reproducere. De obicei proceduri stocate sunt numite după cum urmează:
  • sp_MSupd_ownertablename>
  • sp_MSins_ownertablename>
  • sp_MSdel_ownertablename>
În plus, pentru a determina dacă zona de blocaj este bazată pe hardware sau bazate pe sistem, utilizați performance monitor să monitorizați performanțele sistemului. De exemplu, utilizați performance monitor pentru a monitoriza contoarelor de disc fizic.
Fir de cititor de jurnal Reader Agent
Următoarele statistici performanță demonstrează o situație în care există latență în topologie reproducere și care este zona de blocaj firul cititor de jurnal Reader Agent. Cititor de jurnal Reader Agent firul scanează Jurnalul de tranzacții publicate bazei acoperire de date pentru comenzi a livra baza acoperire de date de distribuire.

<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>


Sincelaststats scris de așteptare cât de secunde 288 apare înaltă. Acesta este timpul de scris firul firului de reader să furnizeze tampoane pentru a aplica. Cititor de jurnal Reader Agent firul execută procedurasp_replcmdsstocate. Dacă observați ridicată writer așteptați fire în statisticile de performanță Agent de cititor de jurnal, ar trebui să investigaţi performanța executării Log Reader Agent împotriva publicarea server și baze acoperire de date şi apoi investigați data execution procedurasp_replcmds stocate.

Aceasta este descrierea fiecărei statistici de performanță:
StatisticeStareDescrierea
StareStare 1: Această stare indică faptul că raportul de performanță este de obicei după o confirmare de comenzi.

Stare 2: Reader fir indică faptul că un batch citi așteaptă marcă de timp mai lung decât valoarea pentru messageinterval proprietate.

Stare 3: Scris fir indică faptul că o scriere batch așteaptă marcă de timp mai lung decât valoarea- messageinterval .
cmds2 numaiAceastă stare indică numărul de comenzi care sunt citite de theDistribution Agent.
callstogetreplcmds2 numaiAceastă stare indică numărul de apeluri la procedura sp_MSget_repl_commandsstocate de agentul de distribuire.
serviciuValoarea reprezintă timpul cumulativă agentul petrecut activitate de firmă la începutul ultima agent. Ora exclude inactivitate.
inactivăValoarea reprezintă timpul cumulativă de agent pentru a apela procedura sp_replcmds stocate revenirea apelul anterioare nu există tranzacții sau când numărul tranzacțiilor este mai mică decât valoarea pentru proprietatea MaxTrans la începutul ultima agent.
preluați ReaderValoarea reprezintă cumulativă timpul petrecut cititorul de la începutul ultima agent. Ora exclude inactivitate și timpul de așteptare-pentru-scris.
cititor de așteptareValoarea reprezintă cumulativă timpul de așteptare-pentru-scris la începutul ultima agent. Valoarea Arată momentul în care este cheltuit așteptând firul de scris pentru a termina folosind buffer acoperire de date înainte de a cititorul poate efectua umplerea tamponului acoperire de date din nou.
scris de scriereValoarea reprezintă cumulativă timpul petrecut de scris la începutul agent ultima. Ora exclude inactivitate și timpul de așteptare pentru cititor.

Pentru scris de așteptare, această valoare reprezintă marcă de timp de așteptare pentru cititor la începutul ultima agent. Valoarea Arată momentul în care este cheltuit așteptând firul reader pentru a termina populează buffer acoperire de date înainte de a scris poate aplica buffer acoperire de date.
sincelaststats_elapsed_timeNodul sincelaststats arată asemănător statistici pentru perioada care începe la ultimul eveniment înregistrat statistici. implicit, perioada este de cinci minute. Ora exclude inactivitate. Valoarea reprezintă momentul în care a trecut de evenimente înregistrate statistici ultima.
sincelaststats de lucruValoarea reprezintă timpul petrecut agentul de la ultimul eveniment statistici.
sincelaststats cmdsValoarea reprezintă numărul de comenzi de la ultima statistici evenimentului.
sincelaststats cmdspersecValoarea reprezintă numărul de comenzi care se efectuează pe secundă din ultima statistici evenimentului.
preluați sincelaststats\readerValoarea reprezintă cumulativă timpul petrecut cititorul de la ultimul eveniment statistici. Ora exclude inactivitate și timpul de așteptare-pentru-scris.
aşteptaţi sincelaststats\readerValoarea reprezintă cumulativă timpul aşteptaţi-pentru-scris de la ultima statistici evenimentului. Valoarea Arată momentul în care este cheltuit așteptând firul de scris pentru a termina folosind buffer acoperire de date înainte de a reader poate efectua umplerea tamponului acoperire de date din nou.
sincelaststats\writerValoare reprezintă cumulativă marcă de timp acel scris petrecut de la ultimul eveniment statistici. Ora exclude inactivitate și timpul de așteptare pentru cititor.
aşteptaţi sincelaststats\writerValoarea reprezintă marcă de timp de așteptare pentru cititor de la ultimul eveniment statistici. Valoarea Arată momentul în care este cheltuit așteptând firul reader pentru a termina populează buffer acoperire de date înainte de a scris poate aplica buffer acoperire de date.
Script pentru a încărca MSlogreader_history și MSdistribution_history executați statistici acoperire de date XML într-un tabel care poate fi interogare cu ușurință
Există 4 script exemple de ajutor când extrageți statistici de performanţă într-un tabel permanentă, care poate fi ușor de interogare. De asemenea, există o procedură stocată care corelează aproximativ Log Reader Agent performanță statisticile statisticile de performanță Agent de distribuire (, la tabelul perf_stats_tab).

Pentru a obține exemple de script, vizitațiaceastă mostrăFaceți clic pe KB2892631.zip, apoi uncompressfile KB2892631.zip, veți vedea cele patru următorul script fișiere:
  • Versiunea originală a file:perf_stats_script.sql Perf_stats_script.sql
  • Revizuit Usp_move_stats_to_table.sql fișier: usp_move_stats_to_table.sql
  • Revizuit Sp_endtoend_stats.sql fișier: sp_endtoend_stats.sql
  • Un alt script să citească date în marcă de timp real sau dintr-o copiere de rezervă bază acoperire de date de distribuire: Additional_Script.sql

Note

  • Tabelul perf_stats_tab conține performanță statistici pentru Log Reader Agent și Agent de distribuire. Statisticile pot fi interogare independent utilizând tipul de unde = 'A distribui' clauza sau în cazul în care tipul = 'LogRead' clauza.
  • Procedura move_stats_to_tab stocate se deschide un cursor pe tabelul mslogreader_history și tabelul msdistribution_history și apoi apelează move_stats_to_tab stocate procedură pentru fiecare rând pentru a extrage datele XML performanță statistici în tabelul perf_stats_tab.

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 2892631 - Ultima examinare: 05/04/2016 10:59:00 - Revizie: 2.0

  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2892631 KbMtro
Feedback
ementsByTagName("head")[0].appendChild(m);