Hướng dẫn what causes mysql replication lag? - những gì gây ra độ trễ sao chép mysql?
Thiết lập cụm sao chép chính/nô lệ là một trường hợp sử dụng phổ biến trong hầu hết các tổ chức. Sử dụng sao chép MySQL cho phép dữ liệu của bạn được sao chép trên các môi trường khác nhau và đảm bảo rằng thông tin được sao chép. Nó không đồng bộ và một luồng đơn (theo mặc định), nhưng sao chép cũng cho phép bạn định cấu hình nó là đồng bộ (hoặc thực sự là bán đồng bộ hóa) và có thể chạy chủ đề nô lệ thành nhiều luồng hoặc tương đương với nhau.replication cluster setup is a common use case in most organizations. Using MySQL Replication enables your data to be replicated across different environments and guarantees that the information gets copied. It is asynchronous and single-threaded (by default), but replication also allows you to configure it to be synchronous (or actually “semi-synchronous”) and can run slave thread to multiple threads or in parallels. Show
Ý tưởng này rất phổ biến và thường đến với một thiết lập đơn giản, làm cho nô lệ của nó đóng vai trò là sự phục hồi hoặc cho các giải pháp sao lưu. Tuy nhiên, điều này luôn luôn có giá đặc biệt là khi các truy vấn xấu (như thiếu các khóa chính hoặc duy nhất) được sao chép hoặc một số rắc rối với phần cứng (như các vấn đề về Mạng hoặc đĩa IO). Khi những vấn đề này xảy ra, vấn đề phổ biến nhất đối mặt là độ trễ sao chép. & NBSP; Độ trễ sao chép là chi phí của độ trễ cho (các) giao dịch hoặc (các) hoạt động được tính toán bởi chênh lệch thời gian thực thi giữa chính/chính so với nút chờ/nô lệ. Một số trường hợp nhất định trong MySQL phụ thuộc vào các truy vấn xấu được sao chép như thiếu các khóa chính hoặc chỉ số xấu, phần cứng mạng kém hoặc thẻ mạng bị trục trặc, một vị trí xa giữa các vùng hoặc vùng khác nhau hoặc một số quy trình như chạy lại vật lý có thể gây ra Cơ sở dữ liệu MySQL của bạn để trì hoãn áp dụng giao dịch được sao chép hiện tại. Đây là một trường hợp rất phổ biến khi chẩn đoán các vấn đề này. Trong blog này, chúng tôi sẽ kiểm tra cách đối phó với những trường hợp này và những gì cần xem nếu bạn đang trải qua độ trễ sao chép MySQL.replication lag is the cost of delay for transaction(s) or operation(s) calculated by its time difference of execution between the primary/master against the standby/slave node. The most certain cases in MySQL relies on bad queries being replicated such as lack of primary keys or bad indexes, a poor network hardware or malfunctioning network card, a distant location between different regions or zones, or some processes such as physical backups running can cause your MySQL database to delay applying the current replicated transaction. This is a very common case when diagnosing these issues. In this blog, we’ll check how to deal with these cases and what to look if you are experiencing MySQL replication lag. Trạng thái trình diễn của Slave SlaveTrong một số trường hợp, đây là viên đạn bạc khi xử lý độ trễ sao chép và nó cho thấy hầu hết mọi thứ là nguyên nhân của một vấn đề trong cơ sở dữ liệu MySQL của bạn. Chỉ cần chạy câu lệnh SQL này trong nút nô lệ của bạn bị nghi ngờ trải qua độ trễ sao chép. & NBSP;MySQL database. Simply run this SQL statement in your slave node that is suspected experiencing a replication lag. Các trường ban đầu phổ biến để theo dõi các vấn đề là,
Ví dụ, hãy để Lừa lấy ví dụ dưới đây sử dụng bản sao GTID và đang trải qua độ trễ sao chép:
Chẩn đoán các vấn đề như thế này, mysqlbinlog cũng có thể là công cụ của bạn để xác định truy vấn nào đã chạy trên một vị trí Binlog X & Y cụ thể. Để xác định điều này, hãy để Lừa lấy RETREVED_GTID_SET, relay_log_pos và relay_log_file. Xem lệnh bên dưới:Retrieved_Gtid_Set, Relay_Log_Pos, and the Relay_Log_File. See the command below:
Nó cho chúng ta biết rằng nó đang cố gắng sao chép và thực hiện một câu lệnh DML cố gắng là nguồn gốc của độ trễ. Bảng này là một bảng khổng lồ chứa 13m hàng. & NBSP; Có thể bạn quan tâmKiểm tra danh sách quy trình hiển thị, hiển thị trạng thái innodb động cơ, với kết hợp lệnh ps, top, iostatps, top, iostat command combinationTrong một số trường hợp, hiển thị trạng thái nô lệ là không đủ để cho chúng ta biết thủ phạm. Có thể các câu lệnh được sao chép bị ảnh hưởng bởi các quy trình nội bộ chạy trong nô lệ cơ sở dữ liệu MySQL. Chạy các câu lệnh hiển thị danh sách xử lý [Full] và hiển thị trạng thái InnoDB động cơ cũng cung cấp dữ liệu thông tin cung cấp cho bạn những hiểu biết về nguồn gốc của vấn đề. & NBSP;SHOW [FULL] PROCESSLIST and SHOW ENGINE INNODB STATUS also provides informative data that gives you insights about the source of the problem. Ví dụ, hãy để nói rằng một công cụ điểm chuẩn đang chạy gây ra bão hòa IO và CPU đĩa. Bạn có thể kiểm tra bằng cách chạy cả hai câu lệnh SQL. Kết hợp nó với PS và các lệnh TOP. & NBSP;ps and top commands. Bạn cũng có thể xác định tắc nghẽn với bộ nhớ đĩa của mình bằng cách chạy IOSTAT cung cấp số liệu thống kê về khối lượng hiện tại mà bạn đang cố gắng chẩn đoán. Chạy Iostat có thể cho thấy máy chủ của bạn bận rộn hoặc tải như thế nào. Ví dụ, được thực hiện bởi một nô lệ bị tụt lại nhưng cũng trải qua việc sử dụng IO cao cùng một lúc, & nbsp;iostat which provides statistics of the current volume you are trying to diagnose. Running iostat can show how busy or loaded your server is. For example, taken by a slave which is lagging but also experiencing high IO utilization at the same time,
Kết quả ở trên hiển thị việc sử dụng IO cao và ghi cao. Nó cũng tiết lộ rằng kích thước hàng đợi trung bình và kích thước yêu cầu trung bình đang di chuyển, điều đó có nghĩa là nó là một dấu hiệu của khối lượng công việc cao. Trong những trường hợp này, bạn cần xác định xem có các quy trình bên ngoài khiến MySQL làm nghẹt các luồng sao chép hay không.MySQL to choke the replication threads. Làm thế nào ClusterControl có thể giúp đỡ?Với ClusterControl, việc xử lý độ trễ nô lệ và xác định thủ phạm là rất dễ dàng và hiệu quả. Nó trực tiếp cho bạn biết trong UI Web, xem bên dưới:ClusterControl, dealing with slave lag and determining the culprit is very easy and efficient. It directly tells you in the web UI, see below: Nó tiết lộ cho bạn các nút nô lệ hiện tại mà các nút nô lệ của bạn đang trải qua. Không chỉ vậy, với bảng điều khiển Scumm, nếu được kích hoạt, cung cấp cho bạn nhiều hiểu biết hơn về những gì mà Node Node của bạn hoặc thậm chí toàn bộ cụm đang làm:SCUMM dashboards, if enabled, provides you more insights of what your slave node’s health or even the whole cluster is doing: Không chỉ những điều này có sẵn trong ClusterControl, nó còn cung cấp cho bạn khả năng tránh các truy vấn xấu xảy ra với các tính năng này như được thấy dưới đây,ClusterControl, it does provide you also the capability to avoid bad queries from occurring with these features as seen below, Các chỉ mục dự phòng cho phép bạn xác định rằng các chỉ mục này có thể gây ra các vấn đề về hiệu suất cho các truy vấn đến tham chiếu các chỉ mục trùng lặp. Nó cũng cho bạn biết các bảng không có khóa chính thường là vấn đề phổ biến về độ trễ nô lệ khi một truy vấn hoặc giao dịch SQL nhất định tham chiếu các bảng lớn không có khóa chính hoặc duy nhất khi nó được sao chép vào nô lệ. Sự kết luậnXử lý độ trễ sao chép MySQL là một vấn đề thường xuyên trong thiết lập sao chép nô lệ chính. Nó có thể dễ dàng chẩn đoán, nhưng khó giải quyết. Đảm bảo bạn có các bảng của mình với khóa chính hoặc khóa duy nhất hiện có và xác định các bước và công cụ về cách khắc phục sự cố và chẩn đoán nguyên nhân của độ trễ nô lệ. Hiệu quả luôn là chìa khóa khi giải quyết vấn đề mặc dù.MySQL Replication lag is a frequent problem in a master-slave replication setup. It can be easy to diagnose, but difficult to solve. Make sure you have your tables with primary key or unique key existing, and determine the steps and tools on how to troubleshoot and diagnose the cause of slave lag. Efficiency is always the key when solving problems though. Đăng ký để có được nội dung tốt nhất và mới nhất của chúng tôiCác nguyên nhân phổ biến của độ trễ sao chép là gì?Độ trễ sao chép có thể xảy ra trong một vài kịch bản, chẳng hạn như: Trường hợp chính không thể gửi các thay đổi đủ nhanh đến bản sao. Bản sao không thể nhận được các thay đổi đủ nhanh. Bản sao không thể áp dụng các thay đổi đủ nhanh.The primary instance can't send the changes fast enough to the replica. The replica can't receive the changes quickly enough. The replica can't apply the changes quickly enough.
Làm thế nào để mysql xử lý độ trễ sao chép?Trạng thái nô lệ của chương trình trên mạng: Câu thần chú của MySQL DBA Trong một số trường hợp, đây là viên đạn bạc khi xử lý độ trễ sao chép và nó cho thấy hầu hết mọi thứ là nguyên nhân của một vấn đề trong cơ sở dữ liệu MySQL của bạn. Chỉ cần chạy câu lệnh SQL này trong nút nô lệ của bạn bị nghi ngờ trải qua độ trễ sao chép.
Làm thế nào tôi có thể làm cho bản sao của tôi nhanh hơn?Máy chủ và mạng.. Đặt lượng bộ nhớ tối thiểu và tối đa được phân bổ cho công cụ cơ sở dữ liệu Microsoft SQL Server..... Đảm bảo phân bổ đúng các tệp dữ liệu cơ sở dữ liệu và tệp nhật ký..... Cân nhắc thêm bộ nhớ vào máy chủ được sử dụng trong sao chép, đặc biệt là nhà phân phối .. Sử dụng máy tính đa bộ xử lý..... Sử dụng một mạng nhanh .. Làm cách nào để khắc phục sự cố sao chép MySQL của MySQL?Xác minh rằng nguồn có ghi nhật ký nhị phân được bật bằng cách phát hành câu lệnh trạng thái chính hiển thị..... Xác minh rằng biến hệ thống server_id đã được đặt khi khởi động trên cả nguồn và bản sao và giá trị ID là duy nhất trên mỗi máy chủ .. Xác minh rằng bản sao đang chạy .. |
Bài Viết Liên Quan
Tổng hợp html
Trong bài viết này, mình sẽ hướng dẫn các bạn làm thế nào để có thể kết hợp các hàm VLOOKUP, SUM và SUMIF để dò tìm và tính tổng dựa trên 1 số điều ...
Loại kỹ sư nào sử dụng python?
Bất kỳ kỹ sư nào cũng sẽ nghe nói về Python ở giai đoạn này. Nhưng nếu bạn là một kỹ sư cơ khí điển hình, có khả năng bạn và nhóm của bạn sẽ không ...
Ngày lễ Pongal 2023 Tamil Nadu
Pongal 2023 là lễ hội của nông dân. Đó là lễ hội thu hoạch kéo dài bốn ngày được tổ chức ở Tamil Nadu. Tất cả các loại cây trồng được thu hoạch trong ...
Which TVET colleges are still open for 2023 online applications?
Northlink College là một trường Cao đẳng TVET được đăng ký trên toàn quốc nằm ở tỉnh Western Cape. Họ đang thực hiện sứ mệnh Cung cấp Giáo dục và Đào ...
Làm thế nào để bạn tìm thấy số thấp nhất trong một mảng trong python?
Bạn có thể tìm số nhỏ nhất của một danh sách trong Python bằng cách sử dụng hàm min(), hàm sort() hoặc vòng lặp forChúng ta sẽ xem xét các quy trình sau để ...
Thời gian được đo bằng Python là gì?
Mặc dù nhiều nhà phát triển công nhận Python là ngôn ngữ lập trình hiệu quả, nhưng các chương trình Python thuần túy có thể chạy chậm hơn so với các chương ...
Toán tử trong Python Lớp 12 là gì?
Sự kết hợp của các giá trị, biến, toán tử và lời gọi hàm được gọi là một biểu thức. Trình thông dịch Python có thể đánh giá một biểu thức hợp ...
Có bao nhiêu loại số trong python?
Python cung cấp bốn loại số cơ bản. số nguyên đơn giản, số nguyên dài, số dấu phẩy động và số phứcCác con số đều có một số điểm chung. Về cơ ...
Trình biên dịch trực tuyến C++
Viết, Chạy & Chia sẻ mã Ngôn ngữ C trực tuyến bằng trình biên dịch C trực tuyến của OneCompiler miễn phí. Đây là một trong những trình biên dịch trực tuyến ...
What day is 15th of April 2023?
Trang web này sử dụng cookie để thu thập thông tin về cách bạn tương tác với trang web của chúng tôi. Chúng tôi sử dụng thông tin này để cải thiện và tùy ...
Getters và setters python youtube
Python là một trong những ngôn ngữ lập trình phổ biến nhất thế giới hiện nay. Nó được tạo ra vào năm 1991 bởi Guido van RossumTheo van Rossum, Python là ...
Tôi nên sử dụng dấu ngoặc đơn hay dấu ngoặc kép trong PHP?
Sự khác biệt duy nhất ở đây là xử lý các biến được đặt bên trong dấu ngoặc kép. Hãy xem ví dụ đơn giản này
Pitbull lai giá bao nhiêu
Trong thời gian vừa qua, những vụ chó Pitpull cắn chết người, chó pitpull cắn người bị thương là đề tài nóng hổi. Tại sao loại chó này lại hung dữ như ...
Chuỗi để đánh dấu thời gian Python
Tôi đã chơi với Python trong vài ngày qua trong khi dọn dẹp tập dữ liệu và một điều tôi muốn làm là dịch các chuỗi ngày thành dấu thời gianTôi đã bắt ...
Hiển thị một dòng css
OK, tôi nghĩ rằng tôi vừa phát hiện ra rằng tôi đã xem nhầm phần của trang. Bạn đang đề cập đến các phần tử với các lớp .container { display: inline ...
MongoDB có sử dụng API REST không?
Khi bạn đến với chương này, bạn đã thiết lập một cơ sở dữ liệu MongoDB, nhưng bạn chỉ có thể tương tác với nó thông qua MongoDB shell. Trong suốt chương ...
Cài đặt Python 3.7 Mac M1
Trước khi chúng tôi bắt đầu, bạn phải xác định loại bộ xử lý mà máy tính Apple của bạn có. Để kiểm tra xem bạn có Apple Silicon hay Intel 1. Nhấp vào ...
Tôi có thể học Python trên thiết bị di động không?
Tìm hiểu python cho android từ cơ bản trong khóa đào tạo trực tuyến miễn phí này. Khóa học Python cho android được giảng dạy trực tiếp bởi các chuyên gia. Tìm ...
Thư Windows hiển thị mã HTML thay vì thư được định dạng
Tất cả những người thiết kế email tiếp thị đều đã xem qua tác phẩm của người khác và thích những gì họ thấy. Trong những lúc như vậy, bạn có thể ...
Ví dụ thô về php mvc
PHP là ngôn ngữ kịch bản máy chủ và là công cụ mạnh mẽ để tạo các trang Web động và tương tácPHP là một giải pháp thay thế được sử dụng rộng rãi, ...