jca*_*lan 20 cpu heroku cpu-cores celery
我正在使用Django和Celery 3.0.17,现在试图找出默认运行的芹菜工人数量.
从这个链接我明白(没有修改此配置)工作者数量当前必须等于CPU核心数量.这就是我需要前者的原因.我无法通过谷歌搜索或搜索heroku的开发中心找到正式答案.我认为这是4核,因为我看到4个并发连接到我的AMQP服务器,但我想确认一下.
谢谢,
Ĵ
rya*_*ard 29
CPU的数量未发布且可能会发生变化,但您可以通过运行在运行时查找grep -c processor /proc/cpuinfo.
Fau*_*aun 10
根据https://blog.heroku.com/archives/2014/2/3/heroku-xl
Run Code Online (Sandbox Code Playgroud)| | 1X Dyno | Performance Dyno | |-------|--------------|-------------------| | RAM | 512 MB | 6 GB | | | 1x - 4x | 40x (8 CPU cores) | | Price | $0.05 / hour | $0.80 / hour |
2X dynos也有4个核心:
$ heroku run --size=2X grep -c processor /proc/cpuinfo --app app-name
Running grep -c processor /proc/cpuinfo on app-name... up, run.3685
4
Run Code Online (Sandbox Code Playgroud)
但PX dynos有8个核心:
$ heroku run --size=PX grep -c processor /proc/cpuinfo --app app-name
Running grep -c processor /proc/cpuinfo on app-name... up, run.4731
8
Run Code Online (Sandbox Code Playgroud)
heroku puma 文档建议您可以通过nproc在测功机上运行来找到这一点:
例如,要查看有多少人处于 Performance-m 状态,请运行:
\n$ heroku run bash --size=performance-l\n$ nproc\n8\nRun Code Online (Sandbox Code Playgroud)\n但然后除以 2,因为:
\n\n\nnproc 返回的值除了物理内核之外还包括 \xe2\x80\x9chyperthreads\xe2\x80\x9d,这两者的组合称为 vCPU 计数。Heroku 上使用的所有物理核心都有一个超线程,因此要获得 \xe2\x80\x9ctrue\xe2\x80\x9d 物理核心数量除以二。
\n
这意味着performance-l有 4 个 CPU。
当我在 上执行相同操作时performance-m,我得到 2,这意味着实际上只有 1 个 CPU。
Standard-1x 和 Standard-2x 都nproc告诉我“8”,意味着 4 个 CPU,但 heroku puma 文档警告说,这些 CPU与其他用户共享,因为标准 dyno 是多租户的。
\n\nfree、hobby、standard-1x 和 standard-2x dyno 中的 nproc 值是正确的,但这些核心在容器中运行的多个应用程序之间共享。虽然这些测功机的 nproc 都将返回 8,但最好假设一次只能执行一个进程。
\n
| 归档时间: |
|
| 查看次数: |
8893 次 |
| 最近记录: |