2012-07-23 31 views
5

Tôi muốn sử dụng mongodb cho dự án mới của tôi. vấn đề là, mongo sử dụng các tệp định vị trước:mongo db --smallfiles chuyển đổi các hạn chế

Mỗi tệp dữ liệu được preallocated với một kích thước cụ thể. (Điều này được thực hiện để ngăn ngừa sự phân mảnh hệ thống tệp, trong số các lý do khác.) Tên tệp đầu tiên cho cơ sở dữ liệu là .0, sau đó .1, vv .0 sẽ là 64MB, .1 128MB, vân vân, tối đa 2GB. Khi các tệp đạt kích thước 2GB, mỗi tệp liên tiếp cũng là 2GB. Do đó, nếu tệp dữ liệu cuối cùng hiển thị là, 1GB, tệp đó có thể là 90% trống nếu gần đây đã được tạo.

từ đây: http://www.mongodb.org/display/DOCS/Excessive+Disk+Space

Và bình thường của nó có nhiều file 2GB với không có gì trong đó. có một công tắc --smallfiles, để hạn chế tập tin này đến 512MB

--smallfiles => Sử dụng một kích thước nhỏ hơn ban đầu tập tin (16MB) và kích thước tối đa (512MB)

Tôi muốn biết sử dụng smallfiles là tốt cho sản xuất? và nhược điểm của nó là gì.

có chuyển đổi noprealloc nhưng không tốt trong sản xuất. nhưng không có lưu ý về smallfiles.

Trả lời

6

Bạn thường chỉ sử dụng các tệp nhỏ nếu bạn đang tạo một nhóm cơ sở dữ liệu, nếu bạn chỉ hoạt động trong một vài cơ sở dữ liệu, nó sẽ không giúp bạn tiết kiệm đủ.

Chúng tôi chưa thấy bất kỳ vấn đề hiệu suất nào đối với khách hàng có nhiều, nhiều DBS (và thực sự được hưởng lợi từ các tệp nhỏ). Tuy nhiên, mức độ hoạt động của họ thường thấp so với các lượt cài đặt khác. Dựa trên những gì Mongo đang làm, nó có thể là hơi chậm hơn để làm một số hoạt động nhưng tôi không nghĩ rằng bạn sẽ bao giờ nhận thấy.

+2

Một lưu ý khác ở đây, đó là --smallfiles là tốt trên các trọng tài - một trọng tài thường preallocate rất nhiều tập tin (tạp chí ví dụ) khi nó khởi động, bởi vì lúc khởi động nó không nhưng biết nó là một trọng tài. –

+2

@AdamC Điểm tốt, nhưng bạn cũng có thể bật nhật ký (nojournal = true) cho một trọng tài. – Mattias

1

Ngoài ra, nếu chạy trong đám mây AWS và sử dụng các trường hợp m3.small với SSD, bạn bị giới hạn dung lượng 4GB. Thiết lập tùy chọn này sẽ cho phép bạn có một nút mongodb nhỏ được hỗ trợ SSD. Có thể là đủ cho các tác vụ nhỏ

+0

Tôi gặp vấn đề với ít không gian trên blog/diễn đàn của mình và tôi nhận được 3 GB miễn phí trong 20GB, vì vậy smallfiles có vẻ là một ý tưởng hay, hãy nghĩ sử dụng smallfiles trên các blog/diễn đàn nhỏ và sau đó chuyển sang không nhỏ hơn trang web khi bạn phát triển – wiak

Các vấn đề liên quan