我有一个包含3亿条文档(212GB数据)而没有索引的集合(_id索引是11GB)。 32GB RAM,8 CPU Amazon Linux AMI m4.2xlarge 500GB SSD EBS卷。每秒3-4Mb写入,带有wiredTiger存储引擎的Mongodb 3.2.6,block_compressor很快。我根据Mongodb在Amazon EC2上安装的文档说明进行了优化。
我发现,服务器不一致地使用大量CPU到700%或总CPU的30%。所有的写入和读取都暂停了大约5到20秒。我在网上阅读了大量资料,并猜测这可能是有线网络快照检查点处理或数据压缩过程的原因。
5-20秒的停顿非常烦人,其他应用程序也会受到影响。
我的问题是解决此问题的替代方案是什么?当我的数据增长到10亿个文档(此刻不需要索引,只是重写)时,它会变得更糟吗?
我可以提出的可能解决方案
恢复为MMAPv1
更多调整或优化
使用其他数据库
我是如何解决此问题的?
我按照How to create and mount an XFS file system on Linux和Making an Amazon EBS Volume Available for Use将亚马逊ebs卷从ext4更改为xfs格式。
答案 0 :(得分:2)
这听起来很像ext4问题。运行WiredTiger时,您应该使用XFS。