Mongodb trong bộ nhớ để thử nghiệm

Khi bắt đầu phát triển Strike, chúng tôi biết rằng với tư cách là một công ty an ninh mạng, chúng tôi cần cung cấp một dịch vụ an toàn và đáng tin cậy. Đây là lý do tại sao chúng tôi ưu tiên thử nghiệm đơn vị và trong khi sử dụng MongoDB với các giao dịch, chúng tôi phát hiện ra rằng không có cách nào để tạo các thử nghiệm với dịch vụ bộ nhớ độc lập và chỉ chạy trong khi thử nghiệm cộng với các giao dịch hỗ trợ

Ban đầu, chúng tôi bắt đầu bằng cách sử dụng một phiên bản MongoDB với một bản sao được đặt trực tuyến, nhưng điều đó đã làm tăng đáng kể thời gian thử nghiệm của chúng tôi. Vì lý do đó, chúng tôi đã quyết định thiết kế thư viện của riêng mình, một thư viện sẽ tạo ra một phiên bản InMemory MongoDB để kiểm tra và làm cho nó có một bộ bản sao để các giao dịch của chúng tôi thực sự có thể được kiểm tra. Chúng tôi hiện đã cung cấp strikememongo và đây là những gì tôi sẽ sử dụng trong hướng dẫn ngắn gọn này, hy vọng nó hữu ích. )

thực hành

Trước hết, hãy thiết lập kịch bản hướng dẫn của chúng tôi. Chúng tôi sắp có một khách hàng, một chương trình khuyến mãi và một căn phòng. Khi khách hàng của chúng tôi đã mua một phòng khách sạn, chúng tôi sẽ thêm nó cho khách hàng của mình, thiết lập một chương trình khuyến mãi mới và phân bổ phòng mới. Do đó, chúng tôi sẽ ảnh hưởng đến bộ sưu tập 'khách hàng', 'khuyến mãi' và 'phòng'

Sau đây, chúng tôi tạo hàm sẽ thực hiện các thao tác chèn này trong cơ sở dữ liệu của chúng tôi. Vì chúng tôi không muốn cơ sở dữ liệu của mình bị hỏng, nên nếu xảy ra lỗi khi chèn phòng mới, chúng tôi muốn toàn bộ hoạt động quay trở lại;

Sau khi chức năng của chúng tôi đã sẵn sàng, chúng tôi phát triển bài kiểm tra đơn vị. Trong trường hợp này, chúng tôi sẽ sử dụng máy chủ MongoDB InMemory và phù du của chúng tôi

Trước tiên, hãy tạo các chức năng thiết lập và dọn dẹp của chúng tôi. Điều quan trọng nhất, sẽ là chức năng TestMain của chúng ta, vì ở đây chúng ta cần khởi động máy chủ mongoDB trước khi tạo các bộ sưu tập và chèn các mục

Cuối cùng, chúng tôi sẽ phát triển thử nghiệm của mình, bao gồm việc thêm một khách hàng và kiểm tra xem nó đã được thêm vào cơ sở dữ liệu 'khách hàng' chưa và một phòng đã được tạo chưa

Sau khi chạy thử nghiệm, kết quả hiển thị sẽ giống như

được rồi github. com/strikesecurity/medium-test-tutorial/repositoriestests

Phần kết luận

Chúng ta vừa thấy cách chúng ta có thể phát triển thử nghiệm đơn vị và hỗ trợ các giao dịch MongoDB, điều mà nếu không sẽ chỉ có thể thực hiện được bằng cách sử dụng một phiên bản từ xa

Nếu bạn muốn sử dụng nó trong các dự án của riêng mình, bạn chỉ cần cài đặt nó bằng cách chạy ‘go get -u github. com/strikesecurity/strikememongo’ và thêm nó vào mô-đun go của bạn

Bạn có thể xem tại https. //github. com/strikesecurity/strikememongo để biết một số ví dụ hoặc kiểm tra GoDoc

Sẽ sẵn lòng giúp bạn nếu có bất kỳ nghi ngờ nào, chỉ cần liên hệ tại đây hoặc trên LinkedIn, cảm ơn vì đã đọc

Trong bài đăng này, bạn sẽ tìm hiểu về thử nghiệm MongoDB và các cách khác nhau để đạt được điều đó. MongoDB là cơ sở dữ liệu NoSQL phổ biến nhất. Cơ sở dữ liệu NoSQL khác nhau ở cách lưu trữ dữ liệu so với cơ sở dữ liệu quan hệ

Hôm nay, chúng ta sẽ trải qua nhiều loại thử nghiệm khác nhau trên cơ sở dữ liệu MongoDB. Các bài kiểm tra này có thể được thực hiện thủ công bằng cách viết các trường hợp kiểm tra đơn vị nhưng tốt hơn hết là sử dụng các công cụ để tự động hóa chúng

Mongodb trong bộ nhớ để thử nghiệm

Thử nghiệm MongoDB là gì?

Khi kiểm tra bất kỳ cơ sở dữ liệu nào, kể cả MongoDB, bạn nên tiến hành xác thực bản ghi lược đồ và kiểm tra hiệu suất. Mọi ứng dụng sản xuất ở giai đoạn bắt đầu đều có số lượng bản ghi rất nhỏ. Nhưng khi ứng dụng phát triển, lượng dữ liệu và tải trên cơ sở dữ liệu cũng tăng theo. Điều này có thể dẫn đến tắc nghẽn và trải nghiệm người dùng không tốt vì ứng dụng có thể chạy chậm lại. Bạn nên cố gắng tránh điều này bằng cách thực hiện kiểm tra hiệu suất trong giai đoạn đầu của quá trình phát triển

Chúng tôi sẽ xem xét thử nghiệm cơ sở dữ liệu MongoDB bằng cách sử dụng các trường hợp thử nghiệm đơn vị và các công cụ tự động

Kết nối thử nghiệm MongoDB

Chúng tôi cần kiểm tra kết nối MongoDB ngay cả trước khi chúng tôi kiểm tra cơ sở dữ liệu. Chúng ta có thể kiểm tra kết nối MongoDB thông qua công cụ tuyệt vời và miễn phí, Compass. Bạn có thể tải xuống và cài đặt nó từ tại đây.

Sau khi cài đặt, hãy mở nó và cung cấp cho nó URL kết nối . Trong ví dụ bên dưới, chúng tôi cung cấp chi tiết kết nối MongoDB được cài đặt cục bộ. Sau đó, nhấp vào nút Kết nối .

Mongodb trong bộ nhớ để thử nghiệm

   

Nếu kết nối thành công, Compass sẽ đăng nhập bạn vào cơ sở dữ liệu

Mongodb trong bộ nhớ để thử nghiệm

Bây giờ, chúng tôi sẽ cung cấp cơ sở dữ liệu MongoDB được cài đặt từ xa cho Compass

Mongodb trong bộ nhớ để thử nghiệm

Tại đây, do các chi tiết không chính xác, La bàn đã đưa ra thông báo lỗi

Mongodb trong bộ nhớ để thử nghiệm

Kiểm tra đơn vị MongoDB

Có hai cách để kiểm tra cơ sở dữ liệu MongoDB với kiểm tra đơn vị. Chúng tôi sẽ xem xét cả hai ở đây. Bạn có thể sử dụng một trong hai nút. js hoặc Jest để kiểm tra cơ sở dữ liệu MongoDB. Hai phương pháp như sau

  • MongoDB chế nhạo
  • Máy chủ trong bộ nhớ MongoDB

Đối với cả hai phương pháp này, chúng tôi sẽ viết các trường hợp thử nghiệm cho mã bên dưới. Ở đây, chúng ta có một Node đơn giản. js với TypeScript. Đầu tiên nó tạo kết nối với khách hàng. Sau đó, bên trong một lớp PostService , nó tạo một bài đăng với createPost method. In the createPost , nó sử dụng phương thức inserOne từ MongoDB và . findOne method inside getPost to find a post.

Trước tiên, hãy kiểm tra việc chèn thông tin trong cơ sở dữ liệu MongoDB.

nhập { MongoClient, MongoClientOptions, Collection, ObjectId } từ 'mongodb';

chức năng xuất khẩu createClient (url. chuỗi, tùy chọn?. MongoClientOptions) {

trả lại MongoClient mới (url, tùy chọn). liên kết();

}

giao diện PostDTO {

_Tôi. ID đối tượng;

Tiêu đề. chuỗi;

thân thể. chuỗi;

dấu thời gian. chuỗi;

}

xuất lớp PostService {

bộ sưu tập riêng. Thu thập;

nhà xây dựng (khách hàng cá nhân. MongoClient, cơ sở dữ liệu. chuỗi) {

cái này. bộ sưu tập = cái này. khách hàng. db(cơ sở dữ liệu). bộ sưu tập ('bài đăng');

}

  createPost(post: Omit) {

trả lại cái này. thu thập. insertOne({  …post, timestamp. Ngày mới(). toISOString() });

}

getPost(tiêu đề. chuỗi) {

    return this.collection.findOne({ title });

}

}

Tiếp theo, chúng ta sẽ xem xét từng mô phỏng máy chủ trong bộ nhớ methods in more detail.

Chế nhạo MongoDB

Trong phương pháp này, chúng tôi thử nghiệm các chức năng của trình điều khiển MongoDB. Chúng tôi sẽ sử dụng chức năng mô phỏng từ Jest. Vì vậy, trong tệp thử nghiệm của chúng tôi, trước tiên chúng tôi sử dụng gián điệp. Đúng như tên gọi, họ theo dõi chức năng của các chức năng ban đầu và mô phỏng chúng. Chúng tôi sẽ tham chiếu chúng cho một tệp khác

Sau đó, chúng ta viết một bài kiểm tra Jest để kiểm tra phương thức getPost . Trước tiên, chúng tôi tạo một phiên bản của PostService với dữ liệu giả. Sau đó, chúng tôi gọi getPost() và dự kiến, chúng tôi sẽ kiểm tra xem nó có đúng không.

Ở đây, chúng tôi kiểm tra việc truy xuất thông tin từ cơ sở dữ liệu MongoDB.

nhập { MongodbSpies, mockClient } từ ‘. /__mocks__/mongodb’;

trò đùa. giả ('mongodb');

mô tả ('PostService', () => {

const { findOneSpy }. Điệp viên Mongodb = jest. requireMock('mongodb');

beforeEach(() => {

tìmOneSpy. giảClear();

});

mô tả ('getPost', () => {

it('gọi findOne với thông số chính xác', async() => {

const post = new PostService(mockClient, ‘mock-database’);

chờ bài. getPost('Hướng dẫn ReactJS');

mong đợi (findOneSpy). toHaveBeenCalledWith({

Tiêu đề. 'Hướng dẫn ReactJS'

});

});

Tiếp theo, trong mongodb. ts , chúng tôi viết gián điệp.

export const findOneSpy = jest. fn();

xuất lớp MongoClient {

hàm tạo (url. chuỗi, tùy chọn?. MongoClientOptions) {

constructorSpy(url, tùy chọn);

}

kết nối không đồng bộ () {

trả về 'máy khách giả';

}

}

const mongoFunctionality = {

tìm một. (khối hàng. chưa biết) => {

findOneSpy(tải trọng);

},

};

xuất giao diện MongodbSpies {

tìmOneSpy. trò đùa. Chế nhạo;

}

Các loại thử nghiệm này rất hữu ích, vì chúng không thực hiện lệnh gọi API thực tế, nhưng chúng kiểm tra cơ sở dữ liệu

Máy chủ trong bộ nhớ MongoDB

Trong phương pháp này, chúng tôi sử dụng gói nguồn mở có tên là MongoDB Máy chủ trong bộ nhớ mà bạn có thể cài đặt từ đó here. This package starts a MongoDB database in the memory of the system, which behaves like a real database on a server. Developers generally use it to write test cases for testing.

Sau khi chúng tôi khởi động máy chủ trong bộ nhớ, chúng tôi cần một tệp gốc cho phương pháp này. hạt giống. js có thể như sau.

mô-đun. xuất khẩu = [

{

Tiêu đề. 'Hướng dẫn ReactJS',

thân thể. 'Đây là hướng dẫn về ReactJS, là một thư viện JavaScript',

dấu thời gian. ‘2022-05-26T15. 48. 13. 209Z’

},

{

Tiêu đề. 'Hướng dẫn góc',

thân thể. 'Đây là hướng dẫn về Góc, là một khung JavaScript',

dấu thời gian. ‘2022-06-26T15. 48. 13. 210Z’

}

];

Tệp thử nghiệm chính của chúng tôi sử dụng tệp hạt giống. Mã này đơn giản hơn nhiều so với mã trước đây của chúng tôi. Ở đây, chúng tôi đang sử dụng MongoMemoryServer để tạo kết nối.

nhập { MongoMemoryServer } từ 'mongodb-memory-server';

trò đùa. deepUnmock('mongodb');

hàm seedData(máy khách. MongoClient, dữ liệu. bất kỳ, cơ sở dữ liệu. chuỗi, bộ sưu tập. chuỗi) {

trả lại khách hàng. db(cơ sở dữ liệu). bộ sưu tập (bộ sưu tập). insertMany(dữ liệu);

}

mô tả ('PostService', () => {

cơ sở dữ liệu const = 'thử nghiệm mongodb';

hạt giống const = yêu cầu ('. /hạt giống. js');

để mongodb. MongoMemoryServer;

để khách hàng. MongoClient;

hãy đăngDịch vụ. Dịch vụ bưu chính;

beforeAll(async() => {

mongod = đang chờ MongoMemoryServer. tạo ra();

khách hàng = đang chờ tạoClient (mongod. getUri());

đang chờ seedData(client, seed, database, ‘posts’);

postService = PostService mới (máy khách, cơ sở dữ liệu);

});

afterAll(không đồng bộ () => {

chờ đợi khách hàng. đóng lại();

đang đợi mongodb. dừng lại();

});

mô tả ('getPost', () => {

it('Trả lại đúng người dùng', async() => {

const post = đang chờ postService. getPost('Hướng dẫn ReactJS');

mong đợi (bài đăng). toEqual({

_Tôi. chờ đợi. bất kỳ (ObjectId),

Tiêu đề. 'Hướng dẫn góc',

thân thể. 'Đây là hướng dẫn về Góc, là một khung JavaScript',

dấu thời gian. ‘2022-06-26T15. 48. 13. 210Z’

});

});

Kiểm tra hiệu suất MongoDB

Chúng tôi tiến hành kiểm tra hiệu suất của cơ sở dữ liệu MongoDB để tìm ra mức tải mà cơ sở dữ liệu không thể nhận thêm bất kỳ yêu cầu nào. Con số này phụ thuộc vào sức mạnh của CPU, bộ nhớ và thông lượng mạng của bạn. Giả sử nhận được 5000 yêu cầu từ người dùng đồng thời sẽ phá vỡ cơ sở dữ liệu và nó không thể nhận thêm bất kỳ yêu cầu nào nữa. Điều đó có nghĩa là chúng tôi đã đạt đến giới hạn của cơ sở dữ liệu

Bạn có thể kiểm tra hiệu suất theo cách thủ công bằng cách truy vấn cơ sở dữ liệu có nhiều yêu cầu. Tuy nhiên, các nhà phát triển thường sử dụng các công cụ tự động hóa để làm điều này. Hai công cụ như vậy là Trình phân tích hiệu suất cơ sở dữ liệu SolarWinds DbVisualizer . Chúng tôi sẽ xem xét chúng một cách chi tiết sau trong bài viết.

Kiểm tra khả năng mở rộng MongoDB

Kiểm tra khả năng mở rộng MongoDB tương tự như kiểm tra hiệu suất. Ngoài việc kiểm tra tải trên hệ thống, chúng tôi kiểm tra các thông số khác nhau. Chúng tôi cũng kiểm tra hiệu suất của ứng dụng web, lấy dữ liệu từ cơ sở dữ liệu MongoDB và lưu lượng truy cập cao trên ứng dụng web, bao gồm cả người dùng đồng thời

Với thử nghiệm khả năng mở rộng, chúng tôi xác định giới hạn tối thiểu cũng như tối đa của hệ thống. Tùy thuộc vào kết quả, bạn sẽ quyết định mở rộng cơ sở dữ liệu MongoDB theo chiều dọc hay chiều ngang. So với cơ sở dữ liệu quan hệ, mà chúng ta thường chia tỷ lệ theo chiều dọc, chia tỷ lệ theo chiều ngang của cơ sở dữ liệu có nghĩa là thêm một máy chủ tương tự mới vào cơ sở dữ liệu. Bạn có thể tìm hiểu chi tiết về quy mô của MongoDB từ các tài liệu chính thức tại đây.

Thuộc tính kiểm tra khả năng mở rộng

Có nhiều thuộc tính kiểm tra khả năng mở rộng khác nhau

  • Thời gian phản hồi . Bạn cần kiểm tra thời gian phản hồi của ứng dụng web của mình. Điều này có nghĩa là thời gian cần thiết để tải tất cả dữ liệu từ cơ sở dữ liệu trên trang web. Bạn nên đặt mục tiêu trong khoảng từ 100 ms đến 200 ms.
  • Thông lượng . Thông lượng có nghĩa là số lượng yêu cầu mà cơ sở dữ liệu của bạn có thể xử lý mỗi phút. Nếu chúng tôi có nhiều máy chủ, bạn sẽ đo nó trên mỗi máy chủ.
  • Mức sử dụng CPU . Với việc sử dụng CPU, bạn có thể tìm hiểu cách sử dụng CPU. Khi mức sử dụng CPU cao, bạn cần chia sẻ tải bằng cách thêm máy chủ cơ sở dữ liệu mới.
  • Sử dụng bộ nhớ . Sử dụng bộ nhớ xác định RAM được sử dụng bởi máy chủ. Một lần nữa, khi nó tăng quá nhiều, bạn cần chia sẻ tải bằng cách thêm các máy chủ cơ sở dữ liệu mới.

Kiểm tra cơ sở dữ liệu MongoDB thông qua các công cụ tự động hóa

Như bạn đã thấy ở trên, kiểm tra cơ sở dữ liệu MongoDB thông qua kiểm tra đơn vị là một nhiệm vụ kỹ thuật. Và bạn cần biết Jest testing framework và một ngôn ngữ lập trình như Node. js để thực hiện kiểm tra đơn vị. Nhưng kiểm tra cơ sở dữ liệu thông qua các công cụ tự động là cách dễ nhất

Kiểm thử bằng các công cụ tự động tiết kiệm thời gian và hiệu quả hơn nhiều so với viết mã thủ công. Hãy xem xét một số công cụ kiểm tra cơ sở dữ liệu MongoDB tự động phổ biến. Một số trong số chúng được trả tiền và một số khác hoàn toàn miễn phí sử dụng

Trình phân tích hiệu suất cơ sở dữ liệu SolarWinds

Solar Winds Database Performance Analyzer là công cụ phân tích cơ sở dữ liệu hàng đầu cho MongoDB và cho nhiều cơ sở dữ liệu quan hệ. Với SolarWinds, chúng ta có thể theo dõi hiệu suất của cơ sở dữ liệu MongoDB. SolarWinds cũng bao gồm các thuật toán máy học hiện đại để hiểu các mẫu cơ sở dữ liệu lớn và phức tạp. Bạn có thể sử dụng nó để giám sát cơ sở dữ liệu MongoDB tại cơ sở khách hàng hoặc trên dịch vụ đám mây do MongoDB, MongoDB Atlas cung cấp

Công cụ hàng đầu này có giá khởi điểm $1.170, có thể khá tốn kém đối với các công ty mới thành lập nhỏ, nhưng lại hoàn hảo cho các công ty đa quốc gia lớn. Bạn có thể xem thử tại đây.

DbTrực quan hóa

DbVisualizer là một công cụ hoàn chỉnh mà bạn có thể sử dụng để theo dõi hiệu suất. Nó cũng phục vụ như một môi trường phát triển tích hợp (IDE) để viết các truy vấn MongoDB. DbVisualizer có thể chạy trên mọi HĐH, như Windows, Mac và Linux, đồng thời hỗ trợ hầu hết mọi cơ sở dữ liệu khác, kể cả những cơ sở dữ liệu bên ngoài MongoDB

Nó có cả phiên bản trả phí và miễn phí. Phiên bản trả phí, với nhiều tính năng hơn, bắt đầu từ $197 mỗi năm. Bạn có thể xem thử tại đây.

NoSQLUnit

NoSQLUnit là một công cụ kiểm tra MongoDB mã nguồn mở và miễn phí sử dụng. Nó chỉ được phát triển cho cơ sở dữ liệu NoSQL và giúp viết các trường hợp thử nghiệm JUnit. NoSQLUnit chỉ được sử dụng trong các ứng dụng Java sử dụng cơ sở dữ liệu NoSQL như MongoDB

Bạn có thể sử dụng nó trong nhiều cơ sở dữ liệu NoSQL ngoài MongoDB, như Cassandra, Redis và Neo4j. Bạn có thể xem thử tại đây.

Điểm chuẩn cơ sở dữ liệu

Đây là một công cụ mã nguồn mở được tạo ra trong. NET được sử dụng để thực hiện kiểm tra hiệu suất trong tất cả các loại cơ sở dữ liệu. Database Benchmark chèn hàng triệu bản ghi vào cơ sở dữ liệu MongoDB để kiểm tra hiệu suất của nó. Sau khi kiểm tra kết thúc, bạn có thể xem kết quả trong một công cụ báo cáo đồ họa dễ sử dụng

Bạn có thể xem thử tại đây.

NBi

NBi là một công cụ thử nghiệm nguồn mở được sử dụng cho các giải pháp kinh doanh thông minh. Nó hỗ trợ cả cơ sở dữ liệu quan hệ và cơ sở dữ liệu NoSQL như MongoDB. Với NBi, bạn cần tạo các tệp XML chứa các trường hợp thử nghiệm

Bạn có thể xem thử tại đây.

Mongodb trong bộ nhớ để thử nghiệm

Phần kết luận

Trong bài đăng này, bạn đã tìm hiểu về thử nghiệm MongoDB. Sau đó, bạn đã học cách kiểm tra kết nối MongoDB và hai cách để kiểm tra MongoDB thông qua kiểm tra đơn vị

Cuối cùng, chúng tôi đã xem tổng quan về hai công cụ tự động trả phí và ba công cụ nguồn mở được sử dụng để kiểm tra MongoDB một cách dễ dàng. Cách tốt nhất để tiến hành kiểm tra MongoDB là sử dụng các công cụ tự động. Người kiểm tra có thể sử dụng chúng một cách dễ dàng và không gặp rắc rối khi học một ngôn ngữ lập trình mới

Nếu bạn muốn tìm hiểu về cách ảo hóa dữ liệu của mình một cách dễ dàng, hãy xem VirtualizeMe

Tác giả

Mongodb trong bộ nhớ để thử nghiệm

Bài đăng này được viết bởi Nabendu Biswas. Nabendu đã làm việc trong ngành phần mềm được 15 năm, bắt đầu với vị trí nhà phát triển C++, sau đó chuyển sang cơ sở dữ liệu. Trong sáu năm qua, anh ấy đã làm việc với tư cách là một nhà phát triển web làm việc trong hệ sinh thái JavaScript và phát triển các ứng dụng web trong ReactJS, NodeJS, GraphQL. Anh ấy thích viết blog về những gì anh ấy học được và những gì anh ấy dự định làm.

Mongodb trong bộ nhớ để thử nghiệm

 

Mongodb trong bộ nhớ để thử nghiệm

5 phương pháp quản lý dữ liệu thử nghiệm tốt nhất để áp dụng ngay hôm nay

của VME . Ngày 2 tháng 12 năm 2022 . Blog

Giới thiệu Trong thời đại thông tin, dữ liệu là tài sản quý giá nhất của bạn. Nó giúp bạn đưa ra quyết định nhanh hơn, thực hiện công việc tốt hơn và chuyển đổi công ty của bạn. Quản lý và phân tích dữ liệu phải là một phần trong DNA của tổ chức của bạn và không thể bỏ qua. Dưới đây là một số

Mongodb trong bộ nhớ để thử nghiệm

Dữ liệu và DevOps. Làm thế nào họ đi cùng nhau

của VME . Ngày 2 tháng 12 năm 2022 . Blog

Giới thiệu Trong bài viết này, bạn sẽ tìm hiểu tất cả về dữ liệu và DevOps. DevOps là một triết lý kết hợp các hoạt động CNTT với các công cụ và lý thuyết phát triển để tạo ra hiệu suất chưa từng có cho các hoạt động kinh doanh thông thường, cũng như khả năng cung cấp phần mềm trên

Mongodb trong bộ nhớ để thử nghiệm

So sánh 7 công cụ quản lý dữ liệu thử nghiệm

của VME . 22 tháng 11 năm 2022 . Blog

Giới thiệu Kiểm thử là một phần quan trọng của quá trình phát triển phần mềm vì nó giúp các nhà phát triển tương tác với các ứng dụng của họ và hiểu cách chúng hoạt động. Thử nghiệm không chỉ cho phép nhà phát triển loại bỏ lỗi khỏi ứng dụng của họ. Ví dụ, các nhà phát triển có thể

Bạn có thể chạy MongoDB trong

Ngoài việc chạy dưới dạng độc lập, các phiên bản mongod sử dụng công cụ lưu trữ trong bộ nhớ có thể chạy như một phần của bộ bản sao hoặc một phần của cụm phân đoạn.

MongoDB có phải là một trong

MongoDB không phải là cơ sở dữ liệu trong bộ nhớ . Mặc dù nó có thể được cấu hình để chạy theo cách đó. Nhưng nó sử dụng bộ đệm một cách tự do, nghĩa là các bản ghi dữ liệu được lưu giữ trong bộ nhớ để truy xuất nhanh, trái ngược với trên đĩa. Có nhiều thông tin xấu trên StackOverflow về những việc cần làm khi máy chủ của bạn hết bộ nhớ.

Làm cách nào để sử dụng máy chủ bộ nhớ MongoDB?

log("tạo máy chủ bộ nhớ mongo") const mongod = new MongodbMemoryServer({instance. {cổng, dbName. "thông lượng"}, gỡ lỗi. thật}); . log('máy chủ bộ nhớ monogo đã tạo') hàm async main() { const uri = đang chờ mongod. bảng điều khiển getConnectionString(). nhật ký ("URI cơ sở dữ liệu. ", uri) const db = đang đợi DB

MongoDB đang sử dụng bao nhiêu bộ nhớ?

Và theo mặc định, MongoDB sẽ dự trữ 50% bộ nhớ khả dụng – 1 GB cho bộ đệm WiredTiger hoặc 256 MB, tùy theo giá trị nào lớn hơn . Ví dụ: một hệ thống có 16 GB RAM, sẽ có kích thước bộ đệm WiredTiger là 7. 5 GB. Kích thước của bộ đệm này rất quan trọng để đảm bảo WiredTiger hoạt động hiệu quả.