Hướng dẫn mongodb sector - lĩnh vực mongodb
Trên trang này Show
Trang này chi tiết các cấu hình hệ thống ảnh hưởng đến MongoDB, đặc biệt là khi chạy trong sản xuất. Cảnh báoMMAPV1 bị loại bỏGhi chúĐể chạy trong sản xuất, hãy tham khảo các nền tảng được đề xuất cho các khuyến nghị hệ điều hành.in production, refer to the Recommended Platforms for operating system recommendations. Ghi chúĐể chạy trong sản xuất, hãy tham khảo các nền tảng được đề xuất cho các khuyến nghị hệ điều hành. MongoDB 4.0 có thể mất dữ liệu trong quá trình tắt máy trên MacOS 10.12.x, 10.13.x và 10.14.0. Vấn đề này đã được Apple khắc phục trong MacOS 10.14.1.WT-4018. Để biết chi tiết, xem WT-4018.
một máy ủi hoặc bộ xử lý sau này.
MongoDB 5.0 yêu cầu sử dụng bộ hướng dẫn AVX, có sẵn trên các bộ xử lý Intel và AMD chọn. MongoDB trên 4 yêu cầu vi mô Armv8.2-A hoặc sau đó.Bắt đầu từ MongoDB 5.0, ps --no-headers -o comm 10, ps --no-headers -o comm 11 và Shell Legacy ps --no-headers -o comm 12 không còn hỗ trợ các nền tảng ps --no-headers -o comm 14 không đáp ứng yêu cầu kiến trúc vi mô tối thiểu này.Quan trọngv4.0 kết thúc cuộc đời
Mặc dù MongoDB hỗ trợ nhiều nền tảng khác nhau, các hệ điều hành sau đây được khuyến nghị sử dụng sản xuất trên kiến trúc 7:
MẹoXem thêm:Hãy chắc chắn rằng bạn có bản phát hành ổn định mới nhất. Tất cả các bản phát hành MongoDB đều có sẵn trên trang Trung tâm tải xuống MongoDB. Trung tâm tải xuống MongoDB là một nơi tốt để xác minh bản phát hành ổn định hiện tại, ngay cả khi bạn đang cài đặt thông qua trình quản lý gói.MongoDB Download Center page. The MongoDB Download Center is a good place to verify the current stable release, even if you are installing via a package manager. Đối với các sản phẩm MongoDB khác, hãy tham khảo trang Trung tâm tải xuống MongoDB hoặc tài liệu tương ứng của họ.MongoDB Download Center page or their respective documentation. Các tệp trong thư mục 6 phải tương ứng với công cụ lưu trữ được cấu hình. 0 sẽ không bắt đầu nếu 6 chứa các tệp dữ liệu được tạo bởi một công cụ lưu trữ khác với tệp được chỉ định bởi 3 0 phải có quyền đọc và ghi cho 6 được chỉ địnhWiredtiger hỗ trợ quyền truy cập đồng thời của độc giả và nhà văn vào các tài liệu trong một bộ sưu tập. Khách hàng có thể đọc tài liệu trong khi các hoạt động ghi đang được tiến hành và nhiều luồng có thể sửa đổi các tài liệu khác nhau trong một bộ sưu tập cùng một lúc. MẹoXem thêm:Hãy chắc chắn rằng bạn có bản phát hành ổn định mới nhất. provides information about how WiredTiger takes advantage of multiple CPU cores and how to improve operation throughput. Tất cả các bản phát hành MongoDB đều có sẵn trên trang Trung tâm tải xuống MongoDB. Trung tâm tải xuống MongoDB là một nơi tốt để xác minh bản phát hành ổn định hiện tại, ngay cả khi bạn đang cài đặt thông qua trình quản lý gói. Đối với các sản phẩm MongoDB khác, hãy tham khảo trang Trung tâm tải xuống MongoDB hoặc tài liệu tương ứng của họ. Các tệp trong thư mục 6 phải tương ứng với công cụ lưu trữ được cấu hình. 0 sẽ không bắt đầu nếu 6 chứa các tệp dữ liệu được tạo bởi một công cụ lưu trữ khác với tệp được chỉ định bởi 3 0 phải có quyền đọc và ghi cho 6 được chỉ địnhWiredtiger hỗ trợ quyền truy cập đồng thời của độc giả và nhà văn vào các tài liệu trong một bộ sưu tập. Khách hàng có thể đọc tài liệu trong khi các hoạt động ghi đang được tiến hành và nhiều luồng có thể sửa đổi các tài liệu khác nhau trong một bộ sưu tập cùng một lúc. Phân bổ đủ RAM và CPU cung cấp thông tin về cách WiredTiger tận dụng nhiều lõi CPU và cách cải thiện thông lượng hoạt động. MongoDB sử dụng viết trước khi đăng nhập vào một tạp chí trên đĩa. Nhật ký đảm bảo rằng MongoDB có thể nhanh chóng khôi phục các hoạt động viết được ghi vào tạp chí nhưng không được ghi vào các tệp dữ liệu trong trường hợp 0 bị chấm dứt do sự cố hoặc thất bại nghiêm trọng khác.Để lại nhật ký được bật để đảm bảo rằng 0 sẽ có thể khôi phục các tệp dữ liệu của mình và giữ các tệp dữ liệu ở trạng thái hợp lệ sau khi gặp sự cố. Xem nhật ký để biết thêm thông tin.Bắt đầu từ MongoDB 4.0, bạn không thể chỉ định tùy chọn sudo apt-get install libc68 hoặc sudo apt-get install libc69 cho các thành viên bộ bản sao sử dụng công cụ lưu trữ Wiredtiger.Bắt đầu từ MongoDB 3.6, bạn có thể sử dụng các phiên phù hợp nhân quả để đọc các bài viết của riêng bạn, nếu xác nhận yêu cầu viết.
Xem tài liệu viết mối quan tâm để biết thêm thông tin về việc chọn một mức độ ghi quan tâm thích hợp cho việc triển khai của bạn.Windows Server Technet Article on TCP Configuration when deploying MongoDB on Windows. Luôn chạy MongoDB trong một môi trường đáng tin cậy, với các quy tắc mạng ngăn chặn quyền truy cập từ tất cả các máy, hệ thống và mạng không xác định. Như với bất kỳ hệ thống nhạy cảm nào phụ thuộc vào truy cập mạng, việc triển khai MongoDB của bạn chỉ có thể truy cập được vào các hệ thống cụ thể yêu cầu truy cập, chẳng hạn như máy chủ ứng dụng, dịch vụ giám sát và các thành phần MongoDB khác. Quan trọng Để biết thêm thông tin và cân nhắc về bảo mật, hãy tham khảo các tài liệu trong phần bảo mật, cụ thể: Danh sách kiểm tra bảo mật Mạng và cấu hình làm cứngAllocate Sufficient RAM and CPU. MongoDB được thiết kế đặc biệt với phần cứng hàng hóa trong tâm trí và có một vài yêu cầu hoặc giới hạn phần cứng. Các thành phần cốt lõi của MongoDB chạy trên phần cứng Little-Endian, chủ yếu là bộ xử lý X86/x86_64. Thư viện khách (tức là trình điều khiển) có thể chạy trên các hệ thống endian lớn hoặc nhỏ. Tối thiểu, đảm bảo rằng mỗi trường hợp 0 hoặc 1 có quyền truy cập vào hai lõi thực hoặc một CPU vật lý đa lõi.Công cụ lưu trữ Wiredtiger được đa luồng và có thể tận dụng các lõi CPU bổ sung. Cụ thể, tổng số luồng hoạt động (nghĩa là các hoạt động đồng thời) liên quan đến số lượng CPU có thể có thể ảnh hưởng đến hiệu suất:
Ngưỡng phụ thuộc vào ứng dụng của bạn. Bạn có thể xác định số lượng hoạt động hoạt động đồng thời tối ưu cho ứng dụng của bạn bằng cách thử nghiệm và đo thông lượng đo. Đầu ra từ 1 cung cấp số liệu thống kê về số lượng lần đọc/ghi hoạt động trong cột ( 2). 1 provides statistics on the number of active reads/writes in the ( 2) column.Với WiredTiger, MongoDB sử dụng cả bộ đệm bên trong WiredTiger và bộ đệm hệ thống tập tin. Bắt đầu từ MongoDB 3.4, kích thước bộ nhớ cache bên trong WiredTiger mặc định là lớn hơn cả:
Ví dụ, trên một hệ thống có tổng số RAM 4GB, bộ đệm Wiredtiger sẽ sử dụng 1,5GB RAM ( 3). Ngược lại, một hệ thống có tổng số 1,25 GB RAM sẽ phân bổ 256 MB cho bộ đệm Wiredtiger vì đó là hơn một nửa tổng số RAM trừ đi một gigabyte ( 4).
Ghi chúTrong một số trường hợp, chẳng hạn như khi chạy trong một thùng chứa, cơ sở dữ liệu có thể có các ràng buộc bộ nhớ thấp hơn tổng bộ nhớ hệ thống. Trong các trường hợp như vậy, giới hạn bộ nhớ này, thay vì tổng bộ nhớ hệ thống, được sử dụng làm RAM tối đa có sẵn. Để xem giới hạn bộ nhớ, xem 5Theo mặc định, WiredTiger sử dụng nén khối Snappy cho tất cả các bộ sưu tập và nén tiền tố cho tất cả các chỉ mục. Mặc định nén có thể định cấu hình ở cấp độ toàn cầu và cũng có thể được đặt trên cơ sở mỗi lần thu thập và chỉ số trong quá trình tạo và tạo chỉ số. Các biểu diễn khác nhau được sử dụng cho dữ liệu trong bộ đệm nội bộ WiredTiger so với định dạng trên đĩa:
Thông qua bộ đệm hệ thống tập tin, MongoDB tự động sử dụng tất cả bộ nhớ miễn phí không được sử dụng bởi bộ đệm WiredTiger hoặc bởi các quy trình khác. Để điều chỉnh kích thước của bộ đệm nội bộ Wiredtiger, xem 6 và 7. Tránh tăng kích thước bộ đệm bên trong WiredTiger trên giá trị mặc định của nó.Ghi chúTrong một số trường hợp, chẳng hạn như khi chạy trong một thùng chứa, cơ sở dữ liệu có thể có các ràng buộc bộ nhớ thấp hơn tổng bộ nhớ hệ thống. Trong các trường hợp như vậy, giới hạn bộ nhớ này, thay vì tổng bộ nhớ hệ thống, được sử dụng làm RAM tối đa có sẵn. Để xem giới hạn bộ nhớ, xem 5Theo mặc định, WiredTiger sử dụng nén khối Snappy cho tất cả các bộ sưu tập và nén tiền tố cho tất cả các chỉ mục. Mặc định nén có thể định cấu hình ở cấp độ toàn cầu và cũng có thể được đặt trên cơ sở mỗi lần thu thập và chỉ số trong quá trình tạo và tạo chỉ số. Các biểu diễn khác nhau được sử dụng cho dữ liệu trong bộ đệm nội bộ WiredTiger so với định dạng trên đĩa: Dữ liệu trong bộ đệm hệ thống tập tin giống như định dạng trên đĩa, bao gồm các lợi ích của bất kỳ nén nào cho các tệp dữ liệu. Bộ đệm hệ thống tập tin được sử dụng bởi hệ điều hành để giảm I/O đĩa. Các chỉ mục được tải trong bộ đệm bên trong Wiredtiger có biểu diễn dữ liệu khác với định dạng trên đĩa, nhưng vẫn có thể tận dụng sự nén tiền tố chỉ mục để giảm sử dụng RAM. Chỉ số Tiền tố nén phân phối các tiền tố phổ biến từ các trường được lập chỉ mục. MẹoXem thêm:MongoDB có kết quả tốt và tỷ lệ hiệu suất giá tốt với SSD SATA (đĩa trạng thái rắn). Sử dụng SSD nếu có sẵn và kinh tế. Các ổ đĩa quay hàng hóa (SATA) thường là một lựa chọn tốt, vì hiệu suất I/O ngẫu nhiên tăng với các ổ đĩa quay đắt hơn không phải là kịch tính (chỉ theo thứ tự 2x). Sử dụng SSD hoặc tăng RAM có thể hiệu quả hơn trong việc tăng thông lượng I/O. Chạy MongoDB trên một hệ thống có truy cập bộ nhớ không đồng nhất (NUMA) có thể gây ra một số vấn đề hoạt động, bao gồm hiệu suất chậm trong thời gian sử dụng quy trình hệ thống và thời gian cao. Khi chạy các máy chủ và máy khách MongoDB trên phần cứng NUMA, bạn nên định cấu hình chính sách xen kẽ bộ nhớ để máy chủ hoạt động theo kiểu phi NUMA. MongoDB kiểm tra cài đặt NUMA khi khởi động khi được triển khai trên các máy Linux (kể từ phiên bản 2.0) và Windows (kể từ phiên bản 2.6). Nếu cấu hình NUMA có thể làm giảm hiệu suất, MongoDB sẽ in cảnh báo. MẹoXem thêm:
Các ổ đĩa quay hàng hóa (SATA) thường là một lựa chọn tốt, vì hiệu suất I/O ngẫu nhiên tăng với các ổ đĩa quay đắt hơn không phải là kịch tính (chỉ theo thứ tự 2x). Sử dụng SSD hoặc tăng RAM có thể hiệu quả hơn trong việc tăng thông lượng I/O. Chạy MongoDB trên một hệ thống có truy cập bộ nhớ không đồng nhất (NUMA) có thể gây ra một số vấn đề hoạt động, bao gồm hiệu suất chậm trong thời gian sử dụng quy trình hệ thống và thời gian cao.
Vô hiệu hóa việc đòi lại vùng bằng một trong các lệnh sau:Documentation for /proc/sys/vm/*. Đảm bảo rằng 0 và 1 được bắt đầu bởi 0. Điều này thường được cấu hình thông qua hệ thống init của nền tảng của bạn. Chạy lệnh sau để xác định hệ thống init nào được sử dụng trên nền tảng của bạn:Nếu " 4", nền tảng của bạn sử dụng hệ thống systemd init và bạn phải làm theo các bước trong tab SystemD bên dưới để chỉnh sửa (các) tệp dịch vụ MongoDB của bạn.
Để biết thêm thông tin, hãy xem Tài liệu cho/Proc/Sys/VM/*.Set vm.swappiness for instructions on configuring swap on your Linux system following these guidelines. MongoDB thực hiện tốt nhất nơi có thể tránh được sự hoán đổi hoặc giữ ở mức tối thiểu, vì việc truy xuất dữ liệu từ hoán đổi sẽ luôn chậm hơn so với truy cập dữ liệu trong RAM. Tuy nhiên, nếu hệ thống lưu trữ MongoDB hết RAM, hoán đổi có thể ngăn chặn kẻ giết người Linux kết thúc quá trình ps --no-headers -o comm 10.Nói chung, bạn nên chọn một trong các chiến lược hoán đổi sau: Chỉ định không gian hoán đổi trên hệ thống của bạn và định cấu hình kernel chỉ cho phép hoán đổi dưới tải bộ nhớ cao hoặc Không chỉ định không gian hoán đổi trên hệ thống của bạn và định cấu hình kernel để vô hiệu hóa hoán đổi hoàn toàn Xem Đặt VM.Swappiness để biết hướng dẫn về việc định cấu hình hoán đổi trên hệ thống Linux của bạn theo các hướng dẫn này.
Nếu phiên bản MongoDB của bạn được lưu trữ trên một hệ thống cũng chạy phần mềm khác, chẳng hạn như máy chủ web, bạn nên chọn chiến lược hoán đổi đầu tiên. Không vô hiệu hóa hoán đổi trong trường hợp này. Nếu có thể, bạn rất khuyến khích bạn chạy MongoDB trên hệ thống chuyên dụng của chính nó. Để có hiệu suất tối ưu về lớp lưu trữ, sử dụng các đĩa được hỗ trợ bởi RAID-10. RAID-5 và RAID-6 thường không cung cấp đủ hiệu suất để hỗ trợ triển khai MongoDB. Đối với công cụ lưu trữ Wiredtiger, bạn cũng có thể lưu trữ các chỉ mục trên một thiết bị lưu trữ khác. Xem 4Ghi chúSử dụng các thiết bị lưu trữ khác nhau sẽ ảnh hưởng đến khả năng của bạn để tạo các bản sao lưu theo kiểu nhanh dữ liệu của bạn, vì các tệp sẽ nằm trên các thiết bị và khối lượng khác nhau. Đối với các thiết bị khối cục bộ được gắn vào thể hiện máy ảo thông qua trình ảo hóa hoặc được lưu trữ bởi nhà cung cấp dịch vụ lưu trữ đám mây, hệ điều hành khách nên sử dụng bộ lập lịch NOOP để có hiệu suất tốt nhất. Bộ lập lịch NOOP cho phép hệ điều hành trì hoãn lịch trình I/O đến trình ảo hóa cơ bản. Đối với các máy chủ vật lý, hệ điều hành nên sử dụng bộ lập lịch thời hạn. Bộ lập lịch thời hạn giới hạn độ trễ tối đa cho mỗi yêu cầu và duy trì thông lượng đĩa tốt tốt nhất cho các ứng dụng cơ sở dữ liệu chuyên sâu về đĩa. Xem tài liệu Kiến trúc Bộ Bản sao để biết tổng quan về các cân nhắc kiến trúc để triển khai Set Replica. Xem Kiến trúc sản xuất cụm Sharded để biết tổng quan về kiến trúc cụm được đề xuất để triển khai sản xuất. MẹoXem thêm:Wiredtiger có thể nén dữ liệu thu thập bằng một trong các thư viện nén sau:
Theo mặc định, Wiredtiger sử dụng thư viện nén Snappy. Để thay đổi cài đặt nén, xem 3Wiredtiger sử dụng nén tiền tố trên tất cả các chỉ mục theo mặc định. Các thành phần MongoDB giữ đồng hồ logic để hỗ trợ các hoạt động phụ thuộc vào thời gian. Sử dụng NTP để đồng bộ hóa đồng hồ máy chủ giảm thiểu nguy cơ trôi dạt đồng hồ giữa các thành phần. Sự trôi dạt giữa đồng hồ giữa các thành phần làm tăng khả năng hành vi không chính xác hoặc bất thường của các hoạt động phụ thuộc vào thời gian như sau:NTP to synchronize host machine clocks mitigates the risk of clock drift between components. Clock drift between components increases the likelihood of incorrect or abnormal behavior of time-dependent operations like the following:
Đồng bộ hóa NTP là cần thiết cho các triển khai chạy MongoDB thấp hơn 9 hoặc 00 với động cơ lưu trữ hổ có dây, trong đó trôi dạt đồng hồ có thể dẫn đến treo điểm kiểm tra. Vấn đề đã được khắc phục trong MongoDB 3.4.6+ và MongoDB 3.2.17+, và được giải quyết trong tất cả các điểm phát hành của MongoDB 3.6, 4.0, 4.2 và các bản phát hành sau đó.checkpoint hangs. The issue was fixed in MongoDB 3.4.6+ and MongoDB 3.2.17+, and is resolved in all point release of MongoDB 3.6, 4.0, 4.2, and later
releases.Khi chạy MongoDB trong sản xuất trên Linux, bạn nên sử dụng Linux Kernel phiên bản 2.6.36 trở lên, với hệ thống tập tin XFS hoặc EXT4. Nếu có thể, hãy sử dụng XFS vì nó thường hoạt động tốt hơn với MongoDB. Với công cụ lưu trữ WiredTiger, sử dụng XFS được khuyến nghị mạnh mẽ cho các nút chịu dữ liệu để tránh các vấn đề về hiệu suất có thể xảy ra khi sử dụng Ext4 với WiredTiger.strongly recommended for data bearing nodes to avoid performance issues that may occur when using EXT4 with WiredTiger.
MongoDB sử dụng Thư viện GNU C (GLIBC) trên Linux. Nói chung, mỗi bản phân phối Linux cung cấp phiên bản được kiểm tra riêng của thư viện này. Để có kết quả tốt nhất, hãy sử dụng bản cập nhật mới nhất có sẵn cho phiên bản cung cấp hệ thống này. Bạn có thể kiểm tra xem bạn đã cài đặt phiên bản mới nhất bằng cách sử dụng trình quản lý gói của hệ thống. Ví dụ:GNU C Library (glibc) on Linux. Generally, each Linux distro provides its own vetted version of this library. For best results, use the latest update available for this system-provided version. You can check whether you have the latest version installed by using your system's package manager. For example:
Quan trọngMongoDB yêu cầu một hệ thống tập tin hỗ trợ 04 trên các thư mục. Ví dụ, HGFS và các thư mục chia sẻ của HGFS không hỗ trợ hoạt động này.Cấm Swappiness là một cài đặt kernel Linux ảnh hưởng đến hành vi của Trình quản lý bộ nhớ ảo. Cài đặt 05 dao động từ 06 đến 07: Giá trị càng cao, nó càng thích hoán đổi các trang bộ nhớ sang đĩa qua các trang từ RAM.
MongoDB thực hiện tốt nhất nơi có thể tránh được sự hoán đổi hoặc giữ ở mức tối thiểu. Vì vậy, bạn nên đặt 05 thành 09 hoặc 06 tùy thuộc vào nhu cầu ứng dụng và cấu hình cụm của bạn.Ghi chúNếu phiên bản MongoDB của bạn được lưu trữ trên một hệ thống cũng chạy phần mềm khác, chẳng hạn như máy chủ web, bạn nên đặt 05 thành 09. Nếu có thể, bạn rất khuyến khích bạn chạy MongoDB trên hệ thống chuyên dụng của chính nó.
Ghi chúNếu bạn đang chạy RHEL / CentOS và sử dụng cấu hình hiệu suất 18, bạn cũng phải chỉnh sửa cấu hình đã chọn của mình để đặt 05 thành 09 hoặc 06.Đối với tất cả các triển khai MongoDB:all MongoDB deployments:
Đối với các công cụ lưu trữ Wiredtiger, hãy xem xét các khuyến nghị sau:WiredTiger storage engines, consider the following recommendations:
Nếu bạn đang chạy RHEL / CentOS và sử dụng cấu hình hiệu suất 18, bạn cũng phải chỉnh sửa cấu hình đã chọn của mình để đặt 05 thành 09 hoặc 06.WiredTiger storage engine:
Đối với các công cụ lưu trữ Wiredtiger, hãy xem xét các khuyến nghị sau:
Tắt 22 cho khối lượng lưu trữ chứa các tệp cơ sở dữ liệu.
Điều chỉnh cài đặt 23 cho nền tảng của bạn theo các đề xuất trong tham chiếu ULIMIT. Các giá trị 23 thấp sẽ ảnh hưởng tiêu cực đến MongoDB khi được sử dụng nặng và có thể dẫn đến các kết nối thất bại với các quy trình MongoDB và mất dịch vụ.
Bắt đầu từ MongoDB 4.4, lỗi khởi động được tạo nếu giá trị 23 cho số lượng tệp mở nằm theo 26.
Tắt các trang lớn minh bạch. MongoDB hoạt động tốt hơn với các trang bộ nhớ ảo (4096 byte) bình thường. Xem cài đặt trang khổng lồ trong suốt. Tắt numa trong bios của bạn. Nếu điều đó là không thể, hãy xem MongoDB trên phần cứng Numa. Định cấu hình Selinux cho MongoDB nếu bạn không sử dụng các đường dẫn hoặc cổng thư mục MongoDB mặc định. Xem: Định cấu hình Selinux cho MongoDB và định cấu hình SELINUX cho Doanh nghiệp MongoDB cho cấu hình cần thiết.Scheduling. Đối với động cơ lưu trữ Wiredtiger:
Trên các nền tảng Linux, bạn có thể quan sát một trong các câu sau đây trong nhật ký MongoDB:EC2 for either configuration, you should:
Hai chuỗi cuối cùng trong đầu ra này là phiên bản biểu tượng và tên biểu tượng. So sánh các giá trị này với các giá trị được trả về bởi các hoạt động sau để phát hiện phiên bản biểu tượng không phù hợp:EC2, you should also:
Sử dụng 0 để liên kết địa phương bộ nhớ với một ổ cắm.Premium Storage. Microsoft Azure offers two general types of storage: Standard storage, and Premium storage. MongoDB on Azure has better performance when using Premium storage than it does with Standard storage.Sử dụng lưu trữ cao cấp. Microsoft Azure cung cấp hai loại lưu trữ chung: lưu trữ tiêu chuẩn và lưu trữ cao cấp. MongoDB trên Azure có hiệu suất tốt hơn khi sử dụng lưu trữ cao cấp so với lưu trữ tiêu chuẩn. Thời gian chờ IDLE của TCP trên bộ cân bằng tải Azure là 240 giây theo mặc định, điều này có thể khiến nó âm thầm giảm các kết nối nếu TCP giữ trên hệ thống Azure của bạn lớn hơn giá trị này. Bạn nên đặt sudo sysctl -w vm.zone_reclaim_mode=034 thành 120 để cải thiện vấn đề này.Ghi chú
Để xem cài đặt giữ trên Windows, hãy đưa ra lệnh sau: Giá trị đăng ký không có mặt theo mặc định. Mặc định hệ thống, được sử dụng nếu giá trị vắng mặt, là 45 mili giây hoặc 46 trong thập lục phân.Để thay đổi giá trị 47, hãy sử dụng lệnh sau trong dấu nhắc lệnh quản trị viên, trong đó 48 được biểu thị bằng thập lục phân (ví dụ: 49 là 50):Người dùng Windows nên xem xét bài viết của Windows Server Technet về KeepAlIvetime để biết thêm thông tin về việc thiết lập Keepalive cho triển khai MongoDB trên các hệ thống Windows. Giá trị giữ lớn hơn hoặc bằng 600000 mili giây (10 phút) sẽ bị bỏ qua bởi 0 và 1MongoDB tương thích với VMware.affinity rules. If you must manually migrate a virtual machine to another host and the 0 instance on the virtual machine is the primary, you must first 55 the primary and then
56VMware hỗ trợ quá mức bộ nhớ, nơi bạn có thể gán nhiều bộ nhớ hơn cho các máy ảo của mình hơn là máy vật lý có sẵn. Khi bộ nhớ được ghi là quá mức, bộ ảo hóa phân bổ lại bộ nhớ giữa các máy ảo. Trình điều khiển khinh khí cầu của VMware ( 53) đòi lại các trang được coi là ít có giá trị nhất.networking best practices for vMotion and the
VMKernel. Failure to follow the best practices can result in performance problems and affect replica set and sharded
cluster high availability mechanisms.Người lái xe bóng cư trú bên trong hệ điều hành của khách. Khi trình điều khiển khinh khí cầu mở rộng, nó có thể khiến hệ điều hành của khách đòi lại bộ nhớ từ các ứng dụng của khách, có thể can thiệp vào việc quản lý bộ nhớ của MongoDB và ảnh hưởng đến hiệu suất của MongoDB. Không vô hiệu hóa trình điều khiển khinh khí cầu và các tính năng quá mức bộ nhớ. Điều này có thể khiến trình ảo hóa sử dụng hoán đổi của nó sẽ ảnh hưởng đến hiệu suất. Thay vào đó, bản đồ và bảo lưu toàn bộ lượng bộ nhớ cho máy ảo chạy MongoDB. Điều này đảm bảo rằng khinh khí cầu sẽ không được thổi phồng trong hệ điều hành cục bộ nếu có áp suất bộ nhớ trong trình ảo hóa do cấu hình quá mức. Đảm bảo rằng các máy ảo ở trên máy chủ ESX/ESXi cụ thể bằng cách đặt các quy tắc ái lực của VMware. Nếu bạn phải di chuyển thủ công một máy ảo sang máy chủ khác và ví dụ 0 trên máy ảo là chính, trước tiên bạn phải 55 chính và sau đó 56Để thay đổi giá trị 47, hãy sử dụng lệnh sau trong dấu nhắc lệnh quản trị viên, trong đó 48 được biểu thị bằng thập lục phân (ví dụ: 49 là 50):Không vô hiệu hóa trình điều khiển khinh khí cầu và các tính năng quá mức bộ nhớ. Điều này có thể khiến trình ảo hóa sử dụng hoán đổi của nó sẽ ảnh hưởng đến hiệu suất. Thay vào đó, bản đồ và bảo lưu toàn bộ lượng bộ nhớ cho máy ảo chạy MongoDB. Điều này đảm bảo rằng khinh khí cầu sẽ không được thổi phồng trong hệ điều hành cục bộ nếu có áp suất bộ nhớ trong trình ảo hóa do cấu hình quá mức. Ghi chúTrên Linux, hãy sử dụng lệnh 59 để kiểm tra xem I/O đĩa có phải là nút cổ chai cho cơ sở dữ liệu của bạn không. Chỉ định một số giây khi chạy iostat để tránh hiển thị các số liệu thống kê bao gồm thời gian kể từ khi khởi động máy chủ.Ví dụ: lệnh sau sẽ hiển thị số liệu thống kê mở rộng và thời gian cho mỗi báo cáo được hiển thị, với lưu lượng truy cập tính bằng MB/S, trong một khoảng thời gian thứ hai: Các trường chính từ 59:
BWM-NG là một công cụ dòng lệnh để giám sát sử dụng mạng. Nếu bạn nghi ngờ một nút cổ chai dựa trên mạng, bạn có thể sử dụng sudo sysctl -w vm.zone_reclaim_mode=0 63 to begin your diagnostic process.Để thực hiện sao lưu cơ sở dữ liệu MongoDB của bạn, vui lòng tham khảo Tổng quan về Phương thức sao lưu MongoDB. |