批量处理性能本地部署文档OCR数据准备吞吐量
本地批量处理大型文档档案:性能调优指南
本地批量处理100GB-1TB以上文档档案的性能调优指南——并行摄入、内存管理、I/O优化和可恢复策略。
Edward Xi Yang
企业文档档案以数百GB到TB计量。一家中型律师事务所可能有500GB的合同PDF。一家医院系统可能有2TB的临床记录。一家建筑公司可能有300GB的工程图纸和规格说明。
通过数据准备管道处理这些档案——摄入、OCR、清洗、标注、导出——需要数小时到数天,而不是数分钟。调优良好的管道与简单直接的管道之间可能相差3-5倍的总处理时间。本指南涵盖了实践中重要的性能调优策略。
隔夜处理模式
在优化之前,值得承认大型批处理的主要工作流模式:在晚上开始作业,早上审查结果。
性能调优的目标不是让12小时的作业在12分钟内完成。而是让48小时的作业在12小时内完成,这样它在隔夜完成而不是跨越一个周末。
并行摄入策略
文件级并行
并 发处理多个文件。每个文件是独立的——解析一个PDF不依赖于解析前一个Word文档。
最优并行度:将并发文件操作数量匹配到你的存储吞吐量,而不是CPU核心数。
| 存储类型 | 推荐并行文件数 | 备注 |
|---|---|---|
| NVMe SSD | 8-16 | 受CPU解析速度限制 |
| SATA SSD | 4-8 | 受顺序带宽限制 |
| HDD | 1-2 | 随机I/O杀死并行性 |
| 网络(NFS/SMB) | 4-8 | 受网络带宽和延迟限制 |
按大小排序文件
先处理大文件。这避免了"长尾"问题——管道空闲,只有一个线程在最后处理一个巨大文件。
大型PDF的内存管理
PDF为什么消耗内存
一个200页带嵌入图像的PDF在解析期间可以在内存中解压到500MB-2GB。扫描PDF更糟:每页是全分辨率图像(通常300 DPI),200页扫描PDF解压到约4.8GB。
缓解策略
页级处理:不将整个PDF加载到内存,而是一次处理一页(或一小批页面)。
每工作进程内存限制