MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

ClusterControl - Quản lý sao lưu nâng cao - mariabackup Phần II

Trong phần trước, chúng tôi đã kiểm tra thời gian sao lưu và hiệu quả của việc nén cho các mức và phương pháp nén sao lưu khác nhau. Trong blog này, chúng tôi sẽ tiếp tục nỗ lực và sẽ nói về nhiều cài đặt hơn mà có lẽ hầu hết người dùng không thực sự thay đổi nhưng chúng có thể có ảnh hưởng rõ ràng đến quá trình sao lưu.

Việc thiết lập giống như trong phần trước:chúng tôi sẽ sử dụng cụm sao chép chủ-nô MariaDB với ProxySQL và Keepalived.

Chúng tôi đã tạo 7,6 GB dữ liệu bằng cách sử dụng sysbench:

sysbench /root/sysbench/src/lua/oltp_read_write.lua --threads=4 --mysql-host=10.0.0.111 --mysql-user=sbtest --mysql-password=sbtest --mysql-port=6033 --tables=32 --table-size=1000000 prepare

Sử dụng PIGZ

Lần này chúng ta sẽ bật Sử dụng PIGZ cho gzip song song để sao lưu. Như trước đây, chúng tôi sẽ kiểm tra mọi cấp độ nén để xem nó hoạt động như thế nào.

Chúng tôi đang lưu trữ cục bộ sao lưu trên phiên bản, phiên bản được định cấu hình với 4 vCPU.

Kết quả đúng như mong đợi. Quá trình sao lưu nhanh hơn đáng kể so với khi chúng tôi chỉ sử dụng một lõi CPU. Kích thước của bản sao lưu vẫn giữ nguyên khá nhiều, không có lý do thực sự nào khiến nó thay đổi đáng kể. Rõ ràng là sử dụng pigz cải thiện thời gian sao lưu. Tuy nhiên, có một mặt tối của việc sử dụng gzip song song và đó là việc sử dụng CPU:

Như bạn có thể thấy, hiệu suất sử dụng CPU tăng vọt và nó đạt gần 100% để có mức nén cao hơn. Tăng hiệu suất sử dụng CPU trên máy chủ cơ sở dữ liệu không nhất thiết là ý tưởng tốt nhất vì thông thường, chúng tôi muốn CPU có sẵn cho cơ sở dữ liệu. Mặt khác, nếu chúng ta tình cờ có một bản sao dành riêng cho việc sao lưu và, giả sử, các truy vấn nặng hơn - một nút không được sử dụng để phục vụ loại lưu lượng OLTP, chúng ta có thể bật gzip song song để giảm đáng kể việc sao lưu. thời gian. Có thể thấy rõ, nó không phải là một lựa chọn dành cho tất cả mọi người nhưng nó chắc chắn là thứ mà bạn có thể thấy hữu ích trong một số trường hợp cụ thể. Chỉ cần lưu ý rằng việc sử dụng CPU là điều bạn cần theo dõi vì nó sẽ ảnh hưởng đến độ trễ của các truy vấn và thông qua đó, nó sẽ ảnh hưởng đến trải nghiệm người dùng - điều mà chúng ta luôn nên cân nhắc khi làm việc với cơ sở dữ liệu.

Xtrabackup Chủ đề sao chép song song

Một cài đặt khác mà chúng tôi muốn làm nổi bật là Xtrabackup Parallel Copy Threads. Để hiểu nó là gì, hãy nói một chút về cách thức hoạt động của Xtrabackup (hoặc MariaBackup). Nói tóm lại, những công cụ đó thực hiện hai hành động cùng một lúc. Họ sao chép dữ liệu, tệp vật lý, từ máy chủ cơ sở dữ liệu đến vị trí sao lưu trong khi theo dõi các bản ghi làm lại InnoDB cho bất kỳ bản cập nhật nào. Bản sao lưu bao gồm các tệp và bản ghi tất cả các thay đổi đối với InnoDB đã xảy ra trong quá trình sao lưu. Điều này, với các ổ khóa sao lưu hoặc BẢNG BIỂU DIỄN BẰNG KHÓA ĐỌC, cho phép tạo bản sao lưu nhất quán tại thời điểm khi quá trình truyền dữ liệu kết thúc. Xtrabackup Chủ đề sao chép song song xác định số lượng luồng sẽ thực hiện truyền dữ liệu. Nếu chúng tôi đặt nó thành 1, một tệp sẽ được sao chép cùng một lúc. Nếu chúng tôi đặt nó thành 8, về mặt lý thuyết, có thể chuyển tối đa 8 tệp cùng một lúc. Tất nhiên, phải có bộ nhớ đủ nhanh để thực sự hưởng lợi từ cài đặt như vậy. Chúng tôi sẽ thực hiện một số thử nghiệm, thay đổi Chủ đề sao chép song song Xtrabackup từ 1 đến 2 và 4 thành 8. Chúng tôi sẽ chạy thử nghiệm ở mức nén 6 (mức mặc định) có và không bật gzip song song.

Bốn bản sao lưu đầu tiên (27 - 30) đã được tạo mà không có gzip song song, bắt đầu từ 1 đến 2, 4 và 8 chủ đề sao chép song song. Sau đó, chúng tôi lặp lại quá trình tương tự cho các bản sao lưu 31 đến 34, lần này sử dụng gzip song song. Như bạn có thể thấy, trong trường hợp của chúng tôi hầu như không có sự khác biệt giữa các luồng sao chép song song. Điều này rất có thể sẽ có tác động nhiều hơn nếu chúng tôi tăng kích thước của tập dữ liệu. Nó cũng sẽ cải thiện hiệu suất sao lưu nếu chúng ta sử dụng bộ nhớ nhanh hơn, đáng tin cậy hơn. Như thường lệ, số dặm của bạn sẽ khác nhau và trong các môi trường khác nhau, cài đặt này có thể ảnh hưởng đến quá trình sao lưu nhiều hơn những gì chúng ta thấy ở đây.

Điều chỉnh mạng

Cuối cùng, trong phần này của loạt bài ngắn của chúng tôi, chúng tôi muốn nói về khả năng điều chỉnh việc sử dụng mạng.

Như bạn có thể đã thấy, các bản sao lưu có thể được lưu trữ cục bộ trên nút hoặc nó cũng có thể được truyền trực tuyến đến máy chủ điều khiển. Điều này xảy ra qua mạng và theo mặc định, nó sẽ được thực hiện “càng nhanh càng tốt”.

Trong một số trường hợp, khi lưu lượng mạng của bạn bị hạn chế (ví dụ:các phiên bản đám mây), bạn có thể muốn giảm mức sử dụng mạng do MariaBackup gây ra bằng cách đặt giới hạn chuyển mạng. Khi bạn làm điều đó, ClusterControl sẽ sử dụng công cụ ‘pv’ để giới hạn băng thông có sẵn cho quy trình.

Như bạn có thể thấy, bản sao lưu đầu tiên mất khoảng 3 phút nhưng khi chúng tôi điều chỉnh lưu lượng mạng, quá trình sao lưu mất 13 phút 37 giây.

Trong cả hai trường hợp, chúng tôi sử dụng pigz và mức nén 1. Biểu đồ trên cho thấy rằng việc điều chỉnh mạng cũng làm giảm hiệu suất sử dụng CPU. Có lý, nếu pigz phải đợi mạng truyền dữ liệu, nó không cần phải nhấn mạnh vào CPU vì nó luôn ở chế độ chờ.

Hy vọng rằng bạn thấy blog ngắn này thú vị và có thể nó sẽ khuyến khích bạn thử nghiệm với một số tính năng và tùy chọn không được sử dụng phổ biến của MariaBackup. Nếu bạn muốn chia sẻ một số kinh nghiệm của mình, chúng tôi muốn nghe ý kiến ​​của bạn trong phần bình luận bên dưới.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách OCT () hoạt động trong MariaDB

  2. 2 cách trả về hàng chỉ chứa ký tự chữ và số trong MariaDB

  3. Kết nối HAProxy và Kết nối MySQL - Điều bạn nên biết

  4. Cách HOUR () hoạt động trong MariaDB

  5. MariaDB JSON_SET () Giải thích