Cla*_*diu 2 python google-cloud-functions
我一直无法找到任何有关此的文档。如何处理在 Python 中的 Google Cloud 函数上运行多个线程?它是否根本无法工作(例如禁用线程模块),或者它的行为是否与单 CPU 环境中的线程正常情况一样?
类似地,对于多处理 - 它只是不起作用(例如,不允许您生成其他进程)还是它起作用,但又好像只有一个 CPU?
多线程没有限制,你想怎么做就怎么做。因此,使用 Cloud Functions 时,您需要知道 CPU 功率取决于您设置的内存数量。您可以在定价页面找到该表
如您所见,4Gb 和 8Gb 的 CPU 功率为 4.8Ghz。当然,没有云 CPU 为 4.8Ghz,但这意味着您的函数有 2vCPU 为 2.4Ghz。
如果您有多个线程,则所有线程之间共享 CPU 时间。当然,如果您有一个线程执行长时间的 HTTP 调用,其他线程可以利用 CPU 计算能力继续生存。在同一个CPU上有多个线程不是问题。除非所有线程同时需要 CPU(例如计算密集型应用程序)。最好的用例是并行 API 调用。
如果您使用低内存配置,则您的函数允许的 CPU 周期更少,因此多线程填充会更慢/效率更低
但是,请记住,您仅在 Cloud Functions 处理请求时才支付 CPU 费用,因此,仅在此期间,CPU 才允许用于您的 Cloud Functions。至于结果,如果您生成一个希望位于请求上下文之外的线程,则不允许 CPU 执行计算。
因此,如果您使用多线程功能,请仅在请求处理窗口期间执行此操作。
我在Cloud Run上写了一篇文章,它与Cloud Functions具有相同的底层平台并进行了多CPU测试。
| 归档时间: |
|
| 查看次数: |
3324 次 |
| 最近记录: |