使用的技术堆栈:NodeJs MongoDB 环境:RAM:8GB
需要从第三方提供商获取100万条记录(使用ID进行请求)。 Ids可在当地购买。获取的数据将被处理,然后存储在mongodb中。
第三方服务器的限制
它们每个请求只能支持100个ID。
环境问题
在100,000条记录之后,我遇到了内存问题,出现以下错误FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory
。因此,垃圾收集定期进行。
在GC之后花了15个小时来获取,处理并转储mongo中的350000条记录。 (经过一段时间后,对mongo的写入速度开始恶化。截至目前,记录上没有索引。)
在mongodb中,350,000个后期处理的记录占据1.5GB。
这个过程要在24小时内重复一次,所以我需要在最短的时间内完成。有没有更好的方法或任何技术堆栈来实现/优化这个?