我有一个8核,16GB内存,500GB硬盘专用服务器,它需要太多时间(几秒钟)和资源(加载超过5,通常低于1)来创建一个MongoDB上限集合:
db.createCollection("some.test", {capped:true, size:2147483647,});
刚开始时只有少数上限集合(< 5),但现在大约有50个集合,而且速度非常慢。读/写速度很快。有42%的可用磁盘空间。
我认为花费大部分时间为磁盘上的集合预留足够的空间。
是否有加速创建上限集合的解决方案?
答案 0 :(得分:1)
封顶集合在创建时预先分配,并使用将阻止的ext3。
Ext4或XFS是首选[1],因为它们实现了posix_fallocate,这意味着MongoDB可以快速分配大文件。
[1] http://docs.mongodb.org/manual/administration/production-notes/