MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Theo dõi mức sử dụng bộ nhớ MongoDB

Hiểu cách sử dụng bộ nhớ MongoDB là rất quan trọng để có trải nghiệm lưu trữ MongoDB tốt. Để có hiệu suất tốt nhất, điều bắt buộc là phải lưu giữ bộ nhớ hoạt động của bạn. Tôi đã thấy một số gợi ý rằng nếu bạn sử dụng ổ đĩa thể rắn (SSD), điều đó khiến bộ nhớ ít quan trọng hơn. Thời gian truy cập bộ nhớ truy cập ngẫu nhiên động (DRAM) theo thứ tự nano giây, thời gian truy cập SSD theo thứ tự micro giây và thời gian truy cập đĩa cứng theo thứ tự mili giây - vì vậy SSD vẫn còn nhiều cách để bắt kịp với bộ nhớ.

MongoDB sử dụng tệp ánh xạ bộ nhớ (MMF) để ánh xạ cơ sở dữ liệu vào bộ nhớ. Dữ liệu được chuyển định kỳ vào đĩa (rõ ràng là cơ chế phức tạp hơn rất nhiều, nhưng đó là một chủ đề cho một bài đăng khác).

Sau khi máy chủ MongoDB của bạn bắt đầu hoạt động, điều quan trọng là phải theo dõi và hiểu việc sử dụng bộ nhớ. Để giám sát các máy chủ MongoDB của chúng tôi, bạn có thể sử dụng Bảng điều khiển Giám sát ScaleGrid MongoDB để xem các số liệu chi tiết về hiệu suất của mình. Chạy một số khối lượng công việc mẫu và thiết lập đường cơ sở để bạn có thể hiểu khi nào có điều gì đó không hoạt động bình thường. Dưới đây là bốn bộ đếm quan trọng sẽ giúp bạn theo dõi việc sử dụng bộ nhớ MongoDB của mình:

  1. Bộ nhớ

    Đây thực tế là ba bộ đếm trong một biểu đồ:

    1. Bộ nhớ Thường trú

      Đây là dung lượng bộ nhớ vật lý thực tế đang được sử dụng bởi quy trình MongoDB.

    2. Bộ nhớ được ánh xạ

      Đây là dung lượng bộ nhớ ảo được sử dụng bởi tiến trình MongoDB để ánh xạ cơ sở dữ liệu của bạn vào bộ nhớ. Đây thường sẽ là kích thước của cơ sở dữ liệu của bạn.

    3. Bộ nhớ ảo

      Điều này bao gồm bộ nhớ ảo cho toàn bộ quy trình MongoDB. Nếu bạn đã bật tính năng ghi nhật ký, bộ nhớ này thường sẽ lớn gấp đôi bộ nhớ được ánh xạ của bạn.

  2. Bộ nhớ ảo không được ánh xạ

    Đây là dung lượng bộ nhớ ảo được sử dụng để ghi sổ dữ liệu chứ không phải để ánh xạ các tệp dữ liệu. Ví dụ, mỗi kết nối tiêu thụ một lượng bộ nhớ nhất định. Thông thường bộ đếm này phải khá thấp - thường dưới 1GB.

  3. Lỗi Trang

    Đây là số lỗi trang cứng / giây. Rõ ràng là bạn muốn con số này càng thấp càng tốt.

    • Lỗi Trang Khó

      Điều này được kích hoạt khi trang được đề cập không có trong bộ nhớ thực và cần được tìm nạp từ đĩa.

    • Lỗi Trang mềm

      Điều này xảy ra khi trang nằm ở một nơi khác trong bộ nhớ hoặc ở trạng thái chuyển tiếp.

  4. B-tree (Bỏ sót chỉ mục)

    Việc bỏ sót chỉ mục sẽ kém hiệu quả gấp đôi, vì nó gây ra hai lần đọc đĩa, một lần đọc mục nhập chỉ mục và một lần đọc tài liệu. Bộ đếm cây B theo dõi số lượng chỉ mục bị bỏ sót. Đây là một nơi khác mà bạn sẽ muốn thiết lập đường cơ sở để phát hiện bất kỳ mẫu bất thường nào. Sử dụng lệnh .explain () để kiểm tra các kế hoạch truy vấn cho các truy vấn phổ biến của bạn.

Một khía cạnh quan trọng khác của quản lý bộ nhớ trong MongoDB là hiểu ‘Bộ làm việc’ của bạn. Trong bài đăng tiếp theo của chúng tôi, chúng tôi sẽ kiểm tra cách xác định bộ hoạt động cho cơ sở dữ liệu của bạn.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sao chép cơ sở dữ liệu trong Mongodb giữa các máy chủ sử dụng trình điều khiển nút

  2. cách truy vấn các đối tượng con trong mongodb

  3. Làm cách nào để chạy MongoDB dưới dạng dịch vụ Windows?

  4. Hướng dẫn dành cho nhà phát triển về MongoDB Sharding

  5. Các giao dịch MongoDB của Spring Data