【发布时间】:2022-01-09 23:44:58
【问题描述】:
我有一个 python 应用程序将 pubsub msg 写入 Bigquery。 python 代码使用 google-cloud-bigquery 库,TableData.insertAll() 方法配额为每张表每秒 10,000 个请求。Quotas documentation。
Cloud Run 容器自动缩放设置为 100,每个容器有 1000 个请求。所以从技术上讲,我应该能够达到 10000 个请求/秒,对吧? BQ 插入 API 是最大的瓶颈。
目前我每秒只有几个 100 个请求,同时运行多个服务。
CPU 和 RAM 为 50%。
【问题讨论】:
-
每秒 100 个请求?到 bigquery 还是到 Cloud Run?如果是 BigQuery,处理请求需要多长时间?多于还是少于1s?一元,并且还有多个并发请求。
-
500-600 个请求/秒到 Bigquery。处理请求需要 5 秒。
-
你的机器参数是多少?内存/CPU 数量?在不使用 pub/sub 的情况下,我通过 Cloud Run 和 BigQuery 实现了很好的可扩展性。如何捕获重复的发布/订阅消息?
-
如果每个 Cloud Run 实例都有默认配置(1 个 vCPU),那很好!
-
2 个 vCore 和 256Mb 的 RAM。这是否意味着如果我添加更多 CPU 或 RAM,我可以提高请求率?
标签: google-bigquery google-cloud-pubsub google-cloud-run