Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问docker部署,能支持多个并发请求么? #16

Open
kaixindelele opened this issue Dec 30, 2024 · 2 comments
Open

请问docker部署,能支持多个并发请求么? #16

kaixindelele opened this issue Dec 30, 2024 · 2 comments

Comments

@kaixindelele
Copy link

感谢大佬的开源,OCR的效果非常好,但我测试的单帧图片耗时大概在0.6秒,用普通的并发请求,会发现单帧平均耗时并没有提高。

看docker的配置,好像没有关于服务端并发的配置,想请问下大佬,有没有办法榨干所有CPU的资源~~

@hiroi-sora
Copy link
Owner

hiroi-sora commented Dec 31, 2024

你好。OCR引擎本身是串行工作模式的。服务端并发调用再多,在程序内部都会转换成任务队列,同一时间只处理一张图片。

如果你想充分利用多核CPU,建议使用PaddleOCR插件,然后全局设置拉到最下面,将文字识别设置的“线程数”设为等同于CPU线程数。(最高20,再往上收益不明显)

docker的话,可以进入容器内部命令行,找到 /app/UmiOCR-data/.settings 文件, [Global] 块中的 ocr.win7_x64_PaddleOCR-json.cpu_threads=12 即为线程数设置。设完后需要重启程序。

也可以将 .settings 文件绑定挂载到宿主机,从宿主机直接修改,然后重启容器。

这样可以提高单张图片的识别效率。

@kaixindelele
Copy link
Author

感谢作者的回复,我现在采用的是起多个容器,比较有意思的是,我测试了一下,每个容器分配一个核心,好像速度并没有提升,每个容器2个核心,才勉强速度保持稳定在0.5秒左右一张图。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants