当前实现 - 将原始文件划分为与服务器数量相等的文件。确保每台服务器选择一个文件进行处理。每台服务器将文件拆分为 90 个桶。使用 ForkManager 分叉 90 个进程,每个进程在一个存储桶上运行。子进程将进行 API 调用。合并子进程的输出。合并每个服务器的输出。
Stats - 使用 API 调用下载的内容大小为 40KB。在 2 台服务器上,225k 用户文件的上述过程在 15 分钟内运行。我的目标是在 30 分钟内完成一个 1000 万个文件。(希望这听起来不荒谬!)
我曾考虑使用 BerkeleyDB,但找不到如何将 BerkeleyDB 文件转换为普通的 ASCII 文件。