Vanilla 到 Discourse 大数据导入(速度下降)

我们拥有来自 Discourse 的 26GB 数据转储:

  • 130 万用户
  • 300 万个主题
  • 2100 万条帖子

我们的问题在于:导入速度起初为每分钟 50 万条,但几分钟后便下降至每分钟仅 2000 条。

1 个赞

你需要大量内存。你可以看看批量导入工具,但据我所知,原版游戏中并没有这样的工具。

2 个赞

嗨,Jay。我们使用的是 AWS 的 c5.4xlarge 实例,起初速度可达每分钟 50 万次,但几分钟后就会变慢。

导入脚本支持断点续传,但遗憾的是,导入脚本本身通常就是这样设计的。

2 个赞

是的,重启后它会跳过已导入的数据,但同样的处理过程会随着时间推移而变慢 :frowning:

1 个赞

感谢确认。:frowning: 如果数据量持续以这个速度减少,3100 万条数据大约需要一个月才能处理完。对此有什么改进建议吗?还是说目前只能这样?

你需要一款单核速度快的 CPU,这在云端环境中相当难找。

或者,你可以尝试使用批量导入脚本:Importers for large forums

这里有一个针对 Vanilla 的脚本:discourse/script/bulk_import/vanilla.rb at main · discourse/discourse · GitHub

3 个赞

我们使用的是 AWS 的 c5.4xlarge 实例:
vCPU - 16 内存 (GiB) - 32
这是否足够,还是应该升级?

好的,我们会尝试那个批量导入脚本。谢谢!

如果您希望以最快速度运行常规导入脚本,则需要使用来自 PassMark CPU Benchmarks - Single Thread Performance 的顶级 CPU。对于 AWS 或其他云提供商上的 vCPU 性能如何,我一无所知。:man_shrugging:

3 个赞

您想使用批量导入工具。

2 个赞

每当我尝试批量导入时,它都会停在那里。由于回溯在分类 ID 处停止,我尝试将 -1 改为 0:

@last_imported_category_id = imported_category_ids.max || -1

改为

@last_imported_category_id = imported_category_ids.max || 0

我甚至尝试删除 ID 为 -1 的分类,然后再次尝试,但毫无效果。

如果您可以雇佣额外人手,请联系 @pfaffman,网址为 https://www.literatecomputing.com/。

3 个赞