如何解决django-rq 和 python-rq 中理想的工人数量是多少?
我有一个关于 django-rq 的问题。它是 pip 安装的库,作为 python-rq 之上的一个小层,它在 redis 实例上运行。目前,我在本地 redis 实例上使用数据库 0 的默认队列上运行所有作业。
我通过为默认队列中的 x 个 worker 运行以下脚本 x 次来启动 worker:
@Singleton
public class SomeService {
// ...
}
@Controller
public class SomeController {
private final SomeService someService;
public SomeController(SomeService someService) {
this.someService = someService;
}
// ...
}
@Endpoint
public class SomeManagementEndpoint {
private final SomeService someService;
public SomeManagementEndpoint(SomeService someService) {
this.someService = someService;
}
// ...
}
我在一台 8 核/32GB RAM 的机器上运行。对于每个传入的请求,都需要一个工作人员来处理作业,这在后台进程中通常需要 3 到 60 分钟,使用 OpenCV、Tesseract 和其他一些 API,在此过程中发出一些 HTTP 请求。
我如何知道我应该使用的理想 rq 工人数量?我正在查看管理面板,上面写着 8 名工人。这是我应该使用的理想工人数量吗?我应该使用20吗? 100 怎么样?
我如何考虑以下变量,以便选择我应该启动的正确工人数量:
- 传入请求的数量
- 每个进程所需的 RAM 量
- 核心数
- 工人可能崩溃
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。