Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Khi nào mở rộng các phiên bản MongoDB

Khi nào mở rộng các phiên bản MongoDB

Trong một bài đăng trên blog trước, chúng tôi đã cung cấp phần giới thiệu về khả năng mở rộng quy mô lớn với MongoDB. Tính năng mở rộng quy mô có xu hướng mang tính phản ứng dẫn đến các vấn đề như hiệu suất ứng dụng bị giảm sút hoặc thậm chí tệ hơn là tổng thời gian ngừng hoạt động của ứng dụng. Những vấn đề này cuối cùng dẫn đến trải nghiệm tiêu cực của khách hàng ảnh hưởng đến doanh nghiệp của bạn. Vậy làm cách nào để biết khi nào là thời điểm thích hợp để mở rộng cơ sở dữ liệu Mongo để không ảnh hưởng đến lợi nhuận của mình?

Tìm ngưỡng phù hợp cho ứng dụng của bạn

Để đảm bảo ứng dụng của bạn vượt qua cơn bão tăng trưởng về việc sử dụng ứng dụng và tăng lưu lượng truy cập, bạn bắt buộc phải kiểm tra tải một hệ thống để xác định ngưỡng mà ứng dụng của bạn có thể xử lý trước khi bạn áp dụng các thay đổi như mở rộng quy mô cho hệ thống sản xuất của mình. Thông thường, quá trình này bị bỏ qua và dẫn đến các cuộc diễn tập chữa cháy khi bạn gặp vấn đề với sự gia tăng lưu lượng truy cập.

Con đường dẫn đến thử nghiệm tải MongoDB thành công nên bao gồm những điều sau:

  • Các chỉ số nào cần được theo dõi để bạn có thể tìm thấy các điểm nghẽn?
  • Ngưỡng nào nên được sử dụng về thời điểm mở rộng quy mô?
  • Những công cụ nào nên được sử dụng để phân tích các chỉ số?
  • Bạn nên chạy thử nghiệm tải ở đâu?

Tôi nên theo dõi chỉ số nào để tìm ra điểm nghẽn?

Trước tiên, bạn sẽ cần xác định tiêu chí nào sẽ sử dụng để tìm các yếu tố hạn chế cho ứng dụng cụ thể của bạn. Mọi ứng dụng đều khác nhau. Biết các yêu cầu này sẽ cho phép bạn xác định các số liệu phù hợp để theo dõi từ phía cơ sở dữ liệu.

Dưới đây là một số ví dụ:

  • Ứng dụng của bạn yêu cầu số lần chèn X mỗi giây khi lưu lượng truy cập tăng lên.
  • Dữ liệu cần được trả lại cho người dùng trong vòng chưa đầy 100 mili giây.
  • Có giới hạn về số lượng kết nối đồng thời.
  • Có giới hạn về tài nguyên máy chủ, chẳng hạn như CPU ​​cao hoặc mức trung bình tải.

Khi bạn có thể xác định các chỉ số phía ứng dụng, bạn có thể quyết định những gì cần theo dõi ở phía cơ sở dữ liệu.

Ví dụ:nếu yêu cầu của bạn là có một số yêu cầu chèn nhất định, hãy tập trung vào viết các chỉ số như:

  • Máy chủ I / O
  • Khóa cơ sở dữ liệu
  • opcounters , xét về hoạt động viết
  • Phiếu ghi có sẵn, nếu bạn đang chạy WiredTiger làm công cụ lưu trữ của mình

Các công cụ được sử dụng để phân tích các số liệu

Khi bạn xác định được chỉ số nào cần theo dõi, bạn cần thu thập dữ liệu từ phía cơ sở dữ liệu. Dưới đây là một số tiện ích sử dụng bạn có thể sử dụng để phân tích hệ số tải:

  • mongostat tiện ích hiển thị các chỉ số cơ sở dữ liệu thời gian thực về hàng đợi khóa, đọc và ghi.
  • db.currentOp () tiện ích xác định các hoạt động đang hoạt động hiện tại.
  • mongotop cho phép bạn xem các bộ sưu tập đang hoạt động hàng đầu.
  • Các tiện ích máy chủ như top , sar , iostat hiển thị các chỉ số như sử dụng CPU hoặc thông lượng đĩa.

Ngoài phân tích thời gian thực, bạn cũng có thể khai thác nhật ký MongoDB để biết thêm chi tiết về hoạt động cơ sở dữ liệu cũng như bất kỳ điều kiện lỗi nào. Theo mặc định, MongoDB ghi nhật ký các truy vấn mất hơn 100 mili giây để thực thi, vì vậy nó là một công cụ tốt để xác định các truy vấn hoạt động kém.

Xác định vị trí để chạy thử nghiệm tải

Khi bạn xác định được những gì bạn sẽ sử dụng để thu thập dữ liệu, bạn đã sẵn sàng để tải thử nghiệm. Thông thường, bạn không bao giờ nên tải thử nghiệm trong môi trường sản xuất. Đôi khi điều này trở thành một nút chặn chương trình bởi vì nó có thể khó khăn để quay một môi trường đủ nhanh. Nếu bạn chưa sử dụng nền tảng ObjectRocket, bạn có thể tạo một cụm kiểm tra MongoDB rất nhanh chóng.

Cần trợ giúp?

Biết khi nào cần mở rộng quy mô môi trường MongoDB của bạn có thể trở nên phức tạp. Khách hàng của ObjectRocket tận hưởng sự hỗ trợ chia tỷ lệ và độ sắc nét tốt nhất. Các DBA của chúng tôi có thể trợ giúp mọi khía cạnh trong việc mở rộng các cụm của bạn và trợ giúp của chúng tôi luôn được bao gồm. Liên hệ với chúng tôi ngay hôm nay để bắt đầu.

Bây giờ bạn có thể bắt đầu xác định thời điểm mở rộng các phiên bản MongoDB của mình, trong blog tiếp theo của chúng tôi, chúng tôi sẽ đề cập đến cách bạn chia tỷ lệ các phiên bản MongoDB.