根據 ec2 實例上執行的進程數量進行擴展

根據 ec2 實例上執行的進程數量進行擴展

我有一個用例,多個 python 腳本將在 ec2 上並行運行。它們讀取 SQS 佇列並執行從 S3 下載、解析檔案、分割、處理和更新資料庫等操作。腳本每 5 分鐘運行一次。如果 SQS 為空,腳本將不執行任何操作並退出。如果 SQS 有訊息,它會由可能執行一個多小時的腳本進行處理。因此運行時間各不相同。

在自動縮放中,我看到可以選擇根據平均cpu 使用率進行縮放,但是cpu 使用的隨機性使其不能很好地指示何時進行縮放(例如,python 腳本在執行磁碟io 操作時會佔用更多cpu。

有沒有辦法根據 ec2 實例上執行的 python 進程數量進行擴充?那麼當並行呼叫數量達到 10 時,實例就會擴大嗎?

此外,有沒有辦法指定比例縮小應該不是對於 ec2 實例,如果它至少有一個 python 進程在其中運行(即使該進程佔用 <5% cpu),就會發生這種情況,因為縮小規模會終止正在進行的進程,如果可以進行縮小規模會更好python進程完成後

圖中沒有負載平衡器。

相關內容