Sao chép đa khu vực trong MySQL, một phương pháp sao chép dữ liệu không đồng bộ từ cơ sở dữ liệu chính trong một vùng địa lý sang một hoặc nhiều cơ sở dữ liệu bản sao ở các khu vực khác nhau, ảnh hưởng đến hiệu suất thông qua các yếu tố khác nhau liên quan đến độ trễ mạng, độ trễ sao chép, phân phối khối lượng công việc và phân bổ tài nguyên.
Độ trễ và độ trễ sao chép mạng
Tác động hiệu suất chính phát sinh từ độ trễ mạng tăng giữa các khu vực. Vì sao chép đa khu vực phụ thuộc vào việc gửi các sự kiện nhật ký nhị phân có chứa thay đổi dữ liệu trên các liên kết mạng đường dài, khoảng cách vật lý có thể gây ra sự chậm trễ lan truyền đáng kể. Điều này dẫn đến tăng độ trễ sao chép, trong đó các bản sao tụt lại phía sau chính trong việc áp dụng các thay đổi. Độ trễ sao chép có thể ảnh hưởng đến tính nhất quán đọc trong các ứng dụng dựa vào dữ liệu cập nhật từ các bản sao và có thể tăng thời gian chuyển đổi dự phòng trong các kịch bản khắc phục thảm họa.
Độ trễ sao chép xảy ra do nhiều nguyên nhân:
- Máy chủ chính không gửi các thay đổi đủ nhanh chóng.
- Mạng chậm trễ trong việc chuyển các thay đổi.
- Máy chủ bản sao không có khả năng áp dụng các thay đổi nhanh chóng.
Tổng độ trễ quan sát được là do cả độ trễ mạng và xử lý. Công cụ giám sát theo dõi các số liệu như độ trễ mạng và độ trễ bản sao để chẩn đoán tắc nghẽn.
Tác động của máy chủ bản sao và sử dụng tài nguyên
Về phía bản sao, việc áp dụng các thay đổi từ chính liên quan đến công việc I/O và CPU, có thể ảnh hưởng đến hiệu suất chung của bản sao, đặc biệt nếu nó cũng đang xử lý các truy vấn đọc ứng dụng đồng thời. Tải trọng sao chép cao có thể dẫn đến sự tranh chấp và bão hòa tài nguyên, làm chậm thời gian phản hồi truy vấn trên bản sao.
Sử dụng các luồng sao chép song song trên bản sao có thể giảm bớt một số độ trễ ứng dụng bằng cách áp dụng đồng thời nhiều giao dịch, cải thiện thông lượng sao chép. Ngoài ra, việc định cấu hình các tùy chọn như Flushing hiệu suất cao (điều chỉnh `innodb_flush_log_at_trx_commit` và` Sync_binlog` tham số) có thể cải thiện hiệu quả ghi và sao chép.
Tác động đến hiệu suất máy chủ chính
Máy chủ chính cũng phải chịu tác động tải do sao chép. Nó phải viết tất cả các thay đổi cho nhật ký nhị phân cho các bản sao hạ nguồn, đây là một chi phí bổ sung trên đầu xử lý giao dịch thông thường. Với nhiều bản sao được kết nối, đặc biệt là các khu vực chéo trong đó thông lượng mạng và độ tin cậy khác nhau, chính có thể trải nghiệm tăng tiêu thụ tài nguyên duy trì các luồng sao chép.
Một cách để giảm thiểu điều này là một hệ thống phân cấp sao chép, trong đó các bản sao chính sao chép thành một bản sao trung gian duy nhất, sau đó quạt ra các bản sao bổ sung, giảm tải trên chính.
Phân phối khối lượng công việc và khả năng mở rộng
Sao chép đa khu vực hỗ trợ mở rộng khối lượng công việc đọc gần hơn với người dùng ở các khu vực toàn cầu khác nhau bằng cách cung cấp các bản sao đọc gần vị trí của chúng, cải thiện độ trễ của người dùng cuối. Tuy nhiên, việc viết khối lượng công việc vẫn hội tụ trên ví dụ chính, có thể trở thành một nút cổ chai.
Các giao dịch lớn trên chính cập nhật nhiều hàng có thể gây ra sự đột biến trong dữ liệu sao chép, dẫn đến các vụ nổ sao chép áp dụng công việc trên bản sao và gây ra độ trễ sao chép. Phá vỡ các giao dịch lớn thành các lô nhỏ hơn giúp giảm căng thẳng sao chép.
Cân nhắc thiết kế lược đồ và truy vấn
Các bảng không có khóa chính hoặc với các hoạt động DDL nặng có thể làm giảm hiệu suất sao chép hoặc gây ra các khóa độc quyền, các vấn đề độ trễ gộp giữa các khu vực. Sử dụng sao chép dựa trên hàng, yêu cầu các khóa chính cho hiệu quả, thường được khuyến nghị.
Mức cách cô lập truy vấn trên các bản sao cũng ảnh hưởng đến tốc độ ứng dụng sao chép, với mức độ cô lập thấp hơn (ví dụ: `đọc cam kết ') thường cho phép áp dụng nhanh hơn các sự kiện sao chép hơn mức cao hơn giữ khóa lâu hơn.
Cân nhắc về mạng và chi phí
Sao chép đa khu vực liên quan đến việc truyền dữ liệu trên các mạng của nhà cung cấp đám mây, có thể phải chịu chi phí và giới hạn băng thông. Điều này cần được tính đến trong thiết kế và có thể gián tiếp hạn chế tốc độ và tần suất sao chép.
Tóm tắt các tác động hiệu suất
- Tăng độ trễ sao chép do khoảng cách vật lý và độ trễ mạng.
- Tiêu thụ tài nguyên cao hơn trên chính để ghi nhật ký nhị phân và trên các bản sao để áp dụng các thay đổi.
- Sự suy giảm hiệu suất truy vấn tiềm năng trên các bản sao nếu sao chép là chuyên sâu về tài nguyên.
- Cân bằng tải thông qua hệ thống phân cấp sao chép có thể làm giảm tắc nghẽn.
- Tác động của các giao dịch lớn và thiết kế lược đồ đến hiệu quả sao chép.
- Đánh đổi với chi phí truyền dữ liệu và thông lượng trong môi trường đám mây.