我正在使用 App 引擎同時處理許多長時間運行的任務(因此我需要使用基本縮放)。
我注意到一個實體只能同時處理 8 個任務(與 B4 實體的工人數量一致)。對于我收到的第九個任務:
POST 503: Request was aborted after waiting too long to attempt to service your request.
如何在不添加更多實體的情況下同時處理比這更多的任務?
uj5u.com熱心網友回復:
作為最佳實踐,您指定的作業人員數量應與 App Engine 應用的實體類匹配,但您可以通過修改入口點中的作業人員數量來更改它,如下例所示,并嘗試查看它是否適合您.
entrypoint: gunicorn -b :8080 -w 2 main:app
max_instances考慮通過在設定引數中設定最大實體數來配置具有基本擴展的服務basic_scaling。您可以通過更改為手動擴展來控制實時實體擴展的數量與處理量。
如果您使用基本擴展,App Engine 會嘗試保持低成本,即使隨著傳入請求量的增加,這可能會導致更高的延遲。
如果您通過最小化空閑實體來調整擴展設定以降低成本,那么如果負載意外增加,您將面臨出現延遲峰值的風險。
基本擴展型別旨在以延遲為代價最小化成本。您的代碼需要 根據處理量來擴展作業人員的數量。如果您的代碼不處理擴展,如果沒有要處理的任務,您就有浪費計算資源的風險;如果您要處理的任務太多,您也會面臨延遲的風險。加速請求的一個好方法是使用多個快取層。
本文有助于處理實體設定并對其進行修改以獲得所需的性能。
uj5u.com熱心網友回復:
你試過增加max_concurrent_requests你的app.yaml? 它應該默認一次能夠處理 10 個請求。
https://cloud.google.com/appengine/docs/standard/python3/config/appref#max_concurrent_requests
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/481996.html
標籤:谷歌应用引擎
