Điều này cũng phụ thuộc vào loại truy vấn bạn đang kích hoạt, Vui lòng kiểm tra xem có các điểm được đề cập dưới đây không -
- có nhiều truy vấn tổng hợp không? Bạn có loại cấu trúc bộ sưu tập nào, tức là
- có nhiều mảng lồng nhau không?
- Đó là tập hợp bản sao hay bản sao đơn lẻ? Hãy thử đặt một tập hợp bản sao có tính năng đọc và ghi vào nút khác.
- Các truy vấn có trả về dữ liệu từ nhiều bộ sưu tập không?
- Kiểm tra phiên bản của bạn có lỗi trang để biết bao nhiêu% hoạt động?
- Kiểm tra nhật ký của bạn để biết các hoạt động với chế độ quét hoặc scanAndOrder cao trong thời gian khóa / hàng đợi cao và lập chỉ mục cho phù hợp.
- Kiểm tra các truy vấn của bạn để tìm các toán tử sử dụng nhiều CPU như $ all, $ push / $ pop / $ addToSet, cũng như các bản cập nhật cho các tài liệu lớn và đặc biệt là các bản cập nhật cho các tài liệu có mảng lớn (hoặc mảng tài liệu con lớn).
- nếu cơ sở dữ liệu của bạn bị ghi nhiều, hãy nhớ rằng chỉ một CPU cho mỗi cơ sở dữ liệu có thể ghi tại một thời điểm (do luồng đó giữ khóa ghi). Cân nhắc chuyển một phần dữ liệu đó vào cơ sở dữ liệu của riêng nó.
Đây là một số điều làm giảm hiệu suất theo thời gian. Tôi đã đề cập đến hầu hết các trường hợp sử dụng phổ biến ở đây, tuy nhiên, vui lòng kiểm tra bài đăng này để biết thêm một số thông tin chi tiết.