python - 提高基于 Tabula 的 API 的响应时间
问题描述
我开发了一个 API 来解析 PDF 中的数据。我使用 tabula-py 来开发这个 API,但在 localhost 上需要 4-5 秒,这要长得多。为了减少响应时间,我想使用 Azure-Function,但它比 localhost(9-10 秒)花费的时间要长得多,这是意料之中的。
为了部署它,我使用了 docker 镜像(Azure 的 ACR),我认为它可以帮助我提高可扩展性。任何人都可以建议我减少响应时间的可能方法吗?为什么在 Azure Function 中需要这么长的时间(这是意料之外的)?
PS Azure Function 与 AWS Lambda 类似。
解决方案
tabula-py
是一个包装器tabula-java
,它是用 Java 编写的。您看到的延迟是 Java 虚拟机的启动时间,它由 Python 包装器启动。
最佳解决方案是使用在 JVM 中运行的语言(如 Java 或 Kotlin)构建 API 服务器。
推荐阅读
- linux - 列出特定用户拥有的 UNIX 中的文件
- ionic-framework - 如何在 Ionic 中将翻译文件(下载后)保存在本地?
- azure-devops - 如何为 Azure Pipelines 中的每个阶段使用不同的服务连接?
- excel - excel 文件是否在内部存储为 XML 文件?
- python - 正则表达式从日志文件中提取不需要的 IP 地址
- node.js - 在 nodeJs 中设置环境变量
- kubernetes - kubernetes 仪表板错误:“度量客户端健康检查失败:服务器找不到请求的资源(获取服务堆)。”
- angular - 循环显示未定义的数据集
- python - 在 Keras 中对 4D 数据执行 2D 卷积
- spring - org.springframework.batch.item.excel.poi.PoiItemReader 无法解决