Giới thiệu về công cụ thống kê hiệu suất cho các tác nhân nhân bản ghi đọc và sao chép phân phối

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 2892631
Giới thiệu
Thống kê hiệu suất được thêm vào mslogreader_historytable và msdistribution_historytable bộ máy cơ sở dữ liệu phân phối trong Microsoft SQL Server. Bạn có thể sử dụng các số liệu thống kê để xem lịch sử hoạt động gần đây của các tác nhân nhân bản ghi đọc và phân phối rộng.

Lưu ý: Những thay đổi đầu tiên trong sau phiên bản SQL Server:
  • 9.00.4220
  • 9.00.3315
  • 10.00.1806
  • 10.00.2714

Năm phút một lần, các số liệu thống kê hiệu suất cho các tác nhân đọc Nhật ký và phân phối là recordedin bảng lịch sử. theo mặc định, dữ liệu trong 48 giờ cuối cùng được giữ lại. Trình dọn xoá dữ liệu lớn hơn 48 giờ. giá trị mặc định có thể thay đổi bằng cách thực hiện quy trìnhsp_changedistributiondb lưu trữ và chỉ định một giá trị mới cho tham số history_retention .

Dưới đây là một mẫu diễn ra từ bảng lịch sử cho nhân viên đọc Nhật ký:

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

Có ba trạm đậu của sự kiện có thể được ghi lại:
trạm đậuMô tả
1Thông thường sự kiện mô tả đọc và người viết giới thiệu hoạt động.
2Đưa ra các sự kiện xảy ra khi một đại lý đọc chủ đề chờ lâu hơn các đại lý - messageintervalthời gian. (Theo mặc định, đó là 60 giây). Nếu bạn thông báo trạm đậu 2 sự kiện được ghi lại cho nhân viên, điều này cho thấy rằng nhân viên đang có nhiều thời gian để ghi các thay đổi đích.
3Đưa ra các sự kiện được tạo ra bởi các đại lý đọc Nhật ký khi luồng văn chờ lâu hơn thời gian- messageinterval. Nếu bạn thông báo trạm đậu 3 sự kiện được ghi lại cho nhân viên đọc Nhật ký, điều này cho thấy rằng các đại lý đang có nhiều thời gian để quét các thay đổi sao chép từ Nhật ký giao dịch.
Phân phối đại lý đọc chủ đề
Thống kê hiệu suất sau chứng minh tình huống trong đó có độ trễ trong loại hình tái tạo và bottleneck là đại lý phân phối đọc luồng. Truy vấn này (cơ sở dữ liệu phân phốiPhân phối máy chủChủ... MSdistribution_history.Commentstable) cho các lệnh để áp dụng khi thuê bao.

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


Thời gian chờ người viết "sincelaststats" (212 giây) xuất hiện ở mức cao. Đây là lần chuỗi tác giả chờ đọc chuỗi cung cấp đệm chuỗi tác giả có thể áp dụng vào bộ máy cơ sở dữ liệu kiểm nhập. Tác nhân TheDistribution đọc chủ đề thực hiện quy trìnhsp_MSget_repl_commands lưu trữ.

Nếu bạn thấy nhiều người viết đợi lần trong thống kê hiệu suất đại lý phân phối, bạn nên nghiên cứu hiệu năng thực hiện phân phối đại lý phân phối máy chủ và bộ máy cơ sở dữ liệu. Đặc biệt, bạn nên điều tra khi thực hiện quy trìnhsp_MSget_repl_commands lưu trữ.
Phân phối đại lý người viết chủ đề
Thống kê hiệu suất sau chứng minh tình huống trong đó có độ trễ trong loại hình tái tạo và bottleneck là đại lý phân phối đọc luồng. Truy vấn này (cơ sở dữ liệu phân phốiPhân phối máy chủChủ... MSdistribution_history.Comments bảng) cho các lệnh để áp dụng khi thuê bao.

Lưu ý: trạm đậu là 2, và kết quả là hơi khác so với số liệu thống kê trạm đậu 1. 2 bang dữ liệu chỉ đọc luồng phải đợi hơn đại lý phân phối cấu hình- messageinterval giá trị. theo mặc định, giá trị - messageinterval là 60 giây.

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


Nếu giá trị - messageintervaltăng, bạn lại có thể nhận được số liệu thống kê trạm đậu 1 giống như sau:

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


Lưu ý: Thời gian chờ nạp sincelaststats 505 giây là rất cao.

Nếu bạn thấy cao đọc đợi lần trong thống kê hiệu suất đại lý phân phối, bạn nên nghiên cứu hiệu năng thực hiện đại lý phân phối máy chủ kiểm nhập và bộ máy cơ sở dữ liệu. Sử dụng công cụ theo dõi hồ sơ để điều tra hoạt động của việc thực thi các quy trình đồng gửi lưu. Thông thường quy trình được lưu trữ được đặt tên như sau:
  • sp_MSupd_ownertablename>
  • sp_MSins_ownertablename>
  • sp_MSdel_ownertablename>
Ngoài ra, để xác định xem bottleneck là phần cứng hoặc hệ thống, sử dụng theo dõi hiệu suất giám sát hiệu năng hệ thống. Ví dụ: sử dụng hiệu suất màn hình để theo dõi đồng hồ đĩa vật lý.
kí nhập đại lý đọc đọc chủ đề
Thống kê hiệu suất sau chứng minh tình huống trong đó có độ trễ trong loại hình tái tạo và bottleneck là chuỗi đọc Nhật ký đọc đại lý. Chủ đề đọc Nhật ký đọc nhân quét Nhật ký giao dịch bộ máy cơ sở dữ liệu đã phát hành cho các lệnh để cung cấp cho bộ máy cơ sở dữ liệu phân phối.

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


Số liệu thống kê đợi tác giả của sincelaststats 288 giây xuất hiện ở mức cao. Đây là lần chuỗi tác giả chờ đọc chuỗi cung cấp đệm để áp dụng. Chủ đề đọc Nhật ký đọc đại lý thực hiện quy trìnhsp_replcmdslưu trữ. Nếu bạn thấy nhiều người viết đợi chủ đề thống kê hiệu suất của nhân viên đọc Nhật ký, bạn nên điều tra hiệu năng thực thi tác nhân đọc Nhật ký xuất bản máy chủ và bộ máy cơ sở dữ liệu và sau đó điều tra khi thực hiện quy trìnhsp_replcmds lưu trữ.

Dưới đây là mô tả mỗi số liệu thống kê hiệu suất:
Số liệu thống kêtrạm đậuMô tả
trạm đậutrạm đậu 1: trạm đậu này chỉ ra rằng Báo cáo hoạt động bình thường sau cam lô.

trạm đậu 2: Đọc chủ đề chỉ ra rằng một loạt đọc chờ đợi nhiều thời gian hơn giá trị cho thuộc tính messageinterval.

trạm đậu 3: Người viết chủ đề cho biết bản ghi lô chờ đợi nhiều thời gian hơn giá trị- messageinterval .
cmds2 chỉtrạm đậu này chỉ số lệnh đọc bằng theDistribution đại lý.
callstogetreplcmds2 chỉtrạm đậu này cho biết số lượng cuộc gọi thủ tục sp_MSget_repl_commandslưu trữ bởi các đại lý phân phối.
hoạt độngGiá trị thể hiện thời gian tích lũy nhân viên chi làm việc từ đầu đại lý cuối cùng. Thời gian không bao gồm thời gian rỗi.
nhàn rỗiGiá trị thể hiện thời gian tích lũy nhân viên chờ gọi thủ tục sp_replcmds lưu trữ khi trước gọi trả lại không có giao dịch hoặc khi số lượng các giao dịch nhỏ hơn giá trị cho thuộc tính MaxTrans từ đầu đại lý cuối cùng.
đọc LấyGiá trị thể hiện thời gian tích lũy đọc khoảng từ đầu đại lý cuối cùng. Thời gian không bao gồm thời gian chờ và thời gian chờ cho tác giả.
đọc chờGiá trị đại diện cho thời gian chờ cho người viết tích luỹ từ đầu đại lý cuối cùng. Giá trị hiện thời gian dành đợi chủ đề văn kết thúc bằng cách sử dụng bộ đệm dữ liệu trước khi đọc có thể điền vào bộ đệm dữ liệu lại.
tác giả viếtGiá trị thể hiện thời gian tích lũy người viết dành từ đầu đại lý cuối cùng. Thời gian không bao gồm thời gian chờ và thời gian chờ đợi để đọc.

Cho người viết chờ, giá trị này thể hiện thời gian chờ đợi để đọc từ đầu đại lý cuối cùng. Giá trị hiện thời gian dành đợi chủ đề đọc kết thúc nhập bộ đệm dữ liệu trước khi văn bản có thể áp dụng bộ đệm dữ liệu.
sincelaststats_elapsed_timenút chọn một sincelaststats Hiển thị tương tự như số liệu thống kê cho giai đoạn đầu sự kiện được ghi lại số liệu thống kê cuối cùng. theo mặc định, giai đoạn này là 5 phút. Thời gian không bao gồm thời gian rỗi. Giá trị đại diện cho thời gian trôi qua kể từ lần số liệu thống kê ghi sự kiện.
sincelaststats hoạt độngGiá trị thể hiện thời gian nhân viên khoảng từ sự kiện thống kê cuối cùng.
sincelaststats cmdsGiá trị biểu thị số lệnh từ sự kiện thống kê cuối cùng.
sincelaststats cmdspersecGiá trị biểu thị số lệnh được thực hiện mỗi giây kể từ khi sự kiện thống kê cuối cùng.
sincelaststats\reader nạpGiá trị thể hiện thời gian tích lũy đọc khoảng từ sự kiện thống kê cuối cùng. Thời gian không bao gồm thời gian chờ và thời gian chờ cho tác giả.
sincelaststats\reader chờGiá trị đại diện cho thời gian chờ cho người viết tích luỹ từ sự kiện thống kê cuối cùng. Giá trị hiện thời gian dành đợi chủ đề văn kết thúc bằng cách sử dụng bộ đệm dữ liệu trước khi đọc có thể điền vào bộ đệm dữ liệu lại.
sincelaststats\writerBiểu thị giá trị tích luỹ các thời gian mà người viết dành từ sự kiện thống kê cuối cùng. Thời gian không bao gồm thời gian chờ và thời gian chờ đợi để đọc.
sincelaststats\writer chờGiá trị đại diện cho thời gian chờ đợi để đọc từ sự kiện thống kê cuối cùng. Giá trị hiện thời gian dành đợi chủ đề đọc kết thúc nhập bộ đệm dữ liệu trước khi tác giả có thể áp dụng bộ đệm dữ liệu.
Tập lệnh tải MSlogreader_history và MSdistribution_history chạy số liệu thống kê từ dữ liệu XML vào một bảng có thể dễ dàng truy vấn
Có 4 kịch bản mẫu giúp bạn trích xuất các thống kê hiệu suất vào bảng thường có thể dễ dàng truy vấn. Cũng là một quy trình được lưu trữ khoảng tương quan thống kê hiệu suất nhân đọc Nhật ký để thống kê hiệu suất đại lý phân phối (tức là, bảng perf_stats_tab).

Lấy mẫu kịch bản, hãy truy cậpmẫu nàybấm KB2892631.ziprồi uncompressfile KB2892631.zip, bạn sẽ thấy bốn sau kịch bản tập tin:
  • Phiên bản gốc của Perf_stats_script.sql file:perf_stats_script.sql
  • Sửa đổi Usp_move_stats_to_table.sql tập tin: usp_move_stats_to_table.sql
  • Sửa đổi Sp_endtoend_stats.sql tập tin: sp_endtoend_stats.sql
  • Các kịch bản khác để đọc dữ liệu trong thời gian thực hoặc sao lưu bộ máy cơ sở dữ liệu phân phối: Additional_Script.sql

Lưu ý:

  • Bảng perf_stats_tab có thống kê hiệu suất cho nhân viên đọc Nhật ký và các đại lý phân phối. Số liệu thống kê có thể được truy vấn độc lập bằng cách sử dụng loại mà = 'Distrib' khoản hoặc nơi loại = 'LogRead' khoản.
  • Quy trình move_stats_to_tab lưu trữ mở con trỏ trên bảng mslogreader_history, bảng msdistribution_history và sau đó gọi thủ tục move_stats_to_tab lưu trữ cho mỗi hàng để trích xuất dữ liệu thống kê hiệu suất XML vào bảng perf_stats_tab.

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 2892631 - Xem lại Lần cuối: 05/04/2016 12:11:00 - Bản sửa đổi: 2.0

  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2892631 KbMtvi
Phản hồi