簡體   English   中英

Cloud Run,每個實例的理想 vCPU 和 memory 數量?

[英]Cloud Run, ideal vCPU and memory amount per instance?

設置cloud run的時候,擔心每個server instance每次應該設置多少個memory和vCPU。

我將 Cloud Run 用於移動應用程序。

我很困惑什么時候增加 vCPU 和 memory 而不是增加服務器實例,什么時候增加服務器實例而不是 vCPU 和 memory。

我該如何計算?

這個問題沒有很好的答案。 你必須知道限制:

  • 使用 4cpu 或/和 32Gb 的 memory 可以同時處理的最大並發請求數(最多 1000 個並發請求)
  • Cloud Run 上實例的最大數量 (1000)

然后這是一個權衡問題,它高度依賴於您的用例。

  • 更大的實例減少了冷啟動的次數(以及當你的服務擴展時的高延遲)。 但是,如果您一次只有 1 個請求,您將為一個小處理支付一個 BIG 實例
  • 較小的實例允許您優化成本並僅在集群中添加一小部分資源,但是您將不得不經常生成一個新實例並且您將要忍受幾次冷啟動。

優化你喜歡的東西,找到合適的平衡點。 沒有神奇的公式!

您可以使用k6.io在當前設置中模擬請求負載,檢查容器的 memory 和 cpu 百分比並將它們調整為較低或較高的設置,以查看是否可以從單個容器中獲得更多的 RPS。

一旦您對單個容器實例感到滿意,假設每個容器實例 100 rps,您就可以使用gcloud指定標志--min-instances--max-instances當然取決於--concurrency標志,這在我的解釋中將設置為 100。

另請注意,它以默認值 80 開始,可以從 go 到 1000。

有關此的更多信息,請訪問以下鏈接: https://cloud.google.com/run/docs/about-concurrency https://cloud.google.com/sdk/gcloud/reference/run/deploy

我還建議您調查是否需要傳遞--cpu-throttling標志或--no-cpu-throttling ,具體取決於您對冷啟動進行調整的需要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM