kubernetes - 使用 Google Kubernetes Engine CPU 调整 Celery 并发性
问题描述
我正在编写一个在我的 Google Kubernetes Engine(GKE)中运行的应用程序,该引擎在 n2 台机器上运行(每个节点 2 个虚拟 CPU)。我的集群包含 3 个节点,因此有 6 个虚拟 CPU。
我使用以下命令在容器中运行 celery:
celery -A myapp worker --loglevel=INFO --concurrency=10 -n worker1@%h
而且我想知道最佳工作人员数量和每个工作人员的最佳并发性是多少,以便在不影响性能或丢失 redis 任务的情况下同时运行最大数量的 celery 任务。
关于两者之间的关系的一些解释将是精彩的。如果我想增加运行的任务数量,我应该增加worker的数量,还是同一个worker的并发,或者GKE集群大小(节点数)来分配更多的CPU?
解决方案
推荐阅读
- reactjs - React Actions 使用 RxJS 进行并行异步调用
- python - 如果索引相同,将行单元格移动到列
- python - 如何在 Flask 中使用单个 html 页面在我的选项卡中放置不同的路由?
- ubuntu - RPC 失败;curl 56 GnuTLS recv 错误(-9):解码接收到的 TLS 数据包时出错
- bash - bash 脚本变量 - 在脚本中有效,但在 cron 中无效
- gitlab-ci - 将文件从运行器主机复制到远程主机时,gitlab-ci ssh 远程命令随机挂起
- jmeter - 为jmeter中的每个线程和循环增加2个字段的时间值
- python - Python中稀疏矩阵的LDL分解
- java - Excel XML 到 Java 对象
- python - 如何解决 CDK CLI 版本不匹配