在副本集和MongoDB引擎中的MongoDB 3.6上,我们有一个包含7.7TB数据的大集合。我们开始看到严重的性能问题( CPU的极端使用和数据复制的减速),我们通过临时使用一个新的空数据库来解决这些问题。数据基本上是使用日志,DB模式主要是插入(新的使用数据),偶尔也会为某些用户或报表读取数据。
为了扩展系统并解决长期的性能问题,我们现在创建了两个碎片,其中的想法是拥有一个快速碎片(包含最近2个月的数据)和一个缓慢的碎片(包含所有历史数据)。在n1-standard-8 (8 vCPUs, 30 GB memory)机器上使用SSD disks运行快速碎片,而在带有rotational disks的n1-highmem-2 (2 vCPUs, 13 GB memory)机器上运行慢速碎片。
数据库没有受到任何负载(没有新的使用日志插入),基本上什么也不做。切分过程已经开始,但是移动块的速度很慢,移动所有块需要大约40天。有200000块需要从快速移动到慢速碎片,平均块大小为32 be,移动一个块需要大约18秒。
如何加快这个块迁移过程?
我已经了解到,如果源碎片在SSD磁盘上,那么块移动几乎有双倍的速度。
发布于 2018-04-09 11:14:59
https://dba.stackexchange.com/questions/203383
复制相似问题