Vit*_*lyB 7 performance mongodb amazon-ec2
我从多个来源看到和听到,将数据库日志和数据文件写入不同的磁盘可能是一个好主意,在性能方面。
推荐的方法是什么(例如在 EC2 上)?
Ada*_*m C 11
唯一一次绝对推荐移动日志的情况是,如果您必须使用直接 NFS 挂载 -一般不建议将NFS用于 MongoDB,但特别是它不能很好地与日志配合使用。
一般来说,期刊对其余数据的访问模式(顺序访问与随机访问)会有很大不同。因此,从性能的角度来看,将日志和数据分开通常是一个好主意。请注意,这是一个非常广泛的概括,会根据您对 MongoDB 的使用情况而有所不同,但通常是正确的。
由于您的问题主要是关于 EC2 和 EBS,因此 NFS 不会在这里发挥作用,但我认为在更广泛的背景下值得一提,具体细节。
对于 EC2/EBS,您通常只需要在看到写 IO 争用(或考虑到 EBS 的性质的整体 IO 争用)时才需要将日志分开 - 它会将 IO 移动到不同的磁盘并释放一些数据容量盘。当然,对于 EBS,您的 IO 还取决于实例上可用的网络 IO,这取决于您的实例大小(以及您是否选择了P-IOPS),因此存在很多变量。
如果您看到高 IOWait 时间并且您的磁盘看起来写入受限(请参阅 IOStat),这是您应该考虑的事情,但仅作为临时措施,因为与增加可用 IO 相比,这只是一个小调整。根据您的起点,那里有很多可用选项,例如向 RAID 添加更多 EBS 驱动器或利用 P-IOPS 配置。您有时还可以通过更改实例类型来获得更好的性能,从而减少网络争用。这些中的每一个都可能比移动日记更有效,并且头痛更少。
为了解释一下,这里还有其他考虑因素 - 其中之一是快照。感谢日志,您不再需要 fsync 和锁定数据库来获得一致的快照(无论是 EBS 或 LVM 还是其他)。然而,日志必须包含在快照中才能做到这一点。因此,无论您使用什么节点进行备份,如果您打算在该节点不停机的情况下进行快照,那么您需要确保包含日志。
最后,日志的用途之一是促进从不正常关机(例如操作系统级崩溃/重启)中恢复。如果日志在 EC2 的临时磁盘上,它会被这样的重启吹走,因此在这种情况下没有用。因此,任何此类具有此类配置的崩溃/重启都需要从头开始重新同步或从备份/快照恢复(如果发生)。
总体而言,与大多数配置决策一样,您必须权衡利弊并选择与您的用例最相关的解决方案。希望这会给你足够的信息来做出明智的选择。
小智 5
对于每个人......不仅仅是在云中托管......
根据 10gen 的这个介绍... http://www.slideshare.net/mongodb/mongodb-journaling-and-the-storage-enginer
期刊表现:
在之前的答案中提到过...如果您移动日志文件,它可能会影响您的备份操作,具体取决于您备份 mongo 的方式。
归档时间: |
|
查看次数: |
5168 次 |
最近记录: |