全部產品
Search
文件中心

Function Compute:執行個體類型及使用模式

更新時間:Jul 06, 2024

Function Compute的彈性執行個體和GPU執行個體均支援按量模式和預留模式。按量模式根據請求時間長度計費,可以結合并發度設定提高執行個體的資源使用率。預留模式則是從執行個體啟動完成開始計費,到執行個體釋放為止,可用於解決冷啟動問題。本文為您介紹兩類執行個體的執行個體模式、計費方式及執行個體規格。

執行個體類型

  • 彈性執行個體:Function Compute的基本執行個體。適用於突發流量和計算密集等各種情境。

  • GPU執行個體:提供Ampere以及Turing架構的GPU執行個體。主要適用於音視頻、AI人工智慧和影像處理等情境。在不同的情境中,將不同的業務負載下沉至GPU硬體加速,從而提升業務處理效率。

    不同情境下使用GPU執行個體的最佳實務,請參見以下文檔。

    重要
    • GPU執行個體僅支援通過容器鏡像方式部署。

    • 使用GPU執行個體過程中,為了確保您的業務正常進行,請加入DingTalk使用者群(DingTalk群號:11721331),並提供以下資訊。

      • 組織名稱,例如您所在的公司名稱。

      • 您的阿里雲帳號ID。

      • 您使用GPU執行個體的地區,例如華南1(深圳)。

      • 連絡方式,例如您的手機號、郵箱或DingTalk帳號等。

執行個體模式

彈性執行個體和GPU執行個體均支援兩種執行個體模式:按量模式和預留模式。兩種執行個體模式說明如下。

按量模式

基本概念

按量模式是指函數執行個體的分配和釋放完全由Function Compute系統負責。Function Compute會根據函數的調用量自動進行執行個體擴縮容,在調用增加時建立執行個體,在請求減少後銷毀執行個體。整個過程中,通過請求自動觸發執行個體建立。如果執行個體在一段時間內(一般為3~5分鐘)不處理請求,會自動銷毀。首次發起調用時,需要等待執行個體冷啟動。

您的阿里雲帳號(主帳號)在單個地區內預設的按量執行個體上限數為300。如果您需要提高該限制,請加入DingTalk使用者群(DingTalk群號64970014484)申請。

計費方式

在按量模式下,函數執行時間長度的計量從請求執行函數開始,到請求執行完畢結束。按量模式下,同一個執行個體同一時間可以執行一個請求,也可以並發執行多個請求。更多資訊,請參見設定執行個體並發度

在沒有函數調用請求時不分配執行個體,所以不會產生費用。只有發生函數調用時才會產生費用。關於具體的產品定價和計費,請參見計費概述

說明

如果您希望提高執行個體資源使用率,建議根據業務對資源的訴求,配置您的執行個體為單一實例多並發。在這種方案下,當多個任務同時在一個執行個體上執行時,CPU或者記憶體將被搶佔式共用,有效提高資源使用率。

單一實例單並發執行時間長度

按量模式下,一個執行個體執行一個請求時,執行時間長度的計量是從請求到達執行個體開始,到請求執行完畢為止。

單一實例多並發執行時間長度

按量模式下,一個執行個體並發執行多個請求時,執行時間長度的計量是從第一個請求到達執行個體開始,到最後一個請求執行完畢為止。並發執行請求時,可以複用資源節省費用。

預留模式

基本概念

預留模式是將函數執行個體的分配和釋放交由您管理,當配置預留函數執行個體後,預留的函數執行個體將會常駐,直到您主動將其釋放。Function Compute會優先將函數調用請求調度至預留的函數執行個體,當函數請求的並發超過預留的函數執行個體處理能力時,超出部分的請求被轉寄至按量模式的執行個體。關於刪除預留模式的執行個體,請參見配置Auto Scaling規則

說明

如果您希望解決冷啟動問題,預留模式是最佳方案。建議您根據業務資源預算選擇固定數量預留、根據波峰波穀特性選擇指定時間段預留或者按照水位閾值選擇自動調整方案。預留後,執行個體的平均冷啟動時延將明顯降低。

閑置模式

彈性執行個體

根據是否被分配vCPU資源,彈性執行個體可以分為活躍狀態和閑置狀態。預設情況下,閑置模式功能處於關閉狀態。

  • 活躍狀態執行個體

    活躍狀態執行個體是正在處理請求的執行個體,或者未啟用閑置模式的執行個體。預留模式執行個體在未啟用閑置模式時,即使未收到請求,Function Compute也會為其分配vCPU資源,確保正常運行背景工作。

  • 閑置狀態執行個體

    預留模式執行個體啟用閑置模式後,在沒有請求時會被Function Compute凍結其vCPU資源,使其進入閑置狀態。閑置狀態下不產生vCPU費用,這將為您節省大量的成本。當執行個體配置了PreFreeze回調程式時,會在回調結束後立即進入閑置狀態,否則會在請求結束後立即進入閑置狀態。關於執行個體狀態的更多資訊,請參見函數執行個體生命週期

您可以根據業務情況選擇是否啟用閑置模式。

  • 使用成本

    如果您需要預留模式來消除冷啟動,又擔心預留成本過高,建議啟用閑置模式。您可以僅為閑置狀態的預留執行個體支付記憶體、磁碟費用,同時滿足無冷啟動的響應調用需求。

  • 背景工作

    如果您的函數需要運行背景工作,建議關閉閑置模式。例如:

    • 使用依賴於內建調度或後台功能的應用程式框架,或依賴的中介軟體需要定期彙報心跳。

    • 使用Go語言的Goroutine輕量級線程、Node.js語言的async函數或Java語言的非同步線程執行非同步作業。

GPU執行個體

根據是否被分配vCPU和GPU資源,GPU執行個體可以分為活躍狀態和閑置狀態。預設情況下,GPU執行個體的閑置模式功能處於關閉狀態。

  • 活躍狀態執行個體

    活躍狀態執行個體是正在處理請求的執行個體,或者未啟用閑置模式的執行個體。開啟閑置模式後,當預留的執行個體沒有請求時,Function Compute會將執行個體的vCPU和GPU凍結,使其進入閑置狀態。

  • 閑置狀態執行個體

    在預留模式中,啟用了閑置模式的執行個體為閑置狀態執行個體。

    說明

    GPU執行個體的閑置模式目前只針對整卡顯存使用,即您的容器GPU配置必須為16 GB(T4卡型)或24 GB(A10卡型)。若您需要使用,加入DingTalk使用者群(DingTalk群號:64970014484)進行使用資格申請。

計費方式

  • 活躍狀態執行個體

    預留模式的執行個體的計費從執行個體成功建立後開始,一直到您主動將其釋放為止。由於預留執行個體由您自己負責申請和釋放,所以即使預留的函數執行個體未執行任何請求,只要沒有釋放函數執行個體,您都需要為預留的函數執行個體付費。關於具體產品定價和計費,請參見計費概述

  • 閑置狀態執行個體

    • 彈性執行個體:閑置vCPU使用不計費,具體請參見vCPU使用量

    • GPU執行個體:具體請參見計費概述

執行個體規格

  • 彈性執行個體

    彈性執行個體包含以下執行個體規格,您可以根據業務需求選擇不同配置的執行個體。

    vCPU(核)

    記憶體規格(MB)

    程式碼封裝大小上限(GB)

    函數執行時間長度上限(s)

    磁碟大小上限(GB)

    頻寬能力上限(Gbps)

    0.05~16

    取值說明:必須為0.05的倍數。

    128~32768

    取值說明:必須為64的倍數。

    10

    86400

    10

    取值說明:

    • 512 MB,預設值。

    • 10 GB。

    5

    說明

    vCPU大小(單位為核)與記憶體大小(單位為GB)的比例必須設定在1∶1到1∶4之間。

  • GPU執行個體

    GPU執行個體包含以下執行個體規格,您可以根據業務需求選擇不同配置的執行個體。

    執行個體規格

    卡型

    vGPU顯存(MB)

    vGPU算力(卡)

    vCPU(核)

    記憶體規格(MB)

    fc.gpu.tesla.1

    Tesla系列T4卡型

    1024~16384(對應1 GB~16 GB)

    取值說明:必須為1024 MB的倍數。

    取值為vGPU顯存(GB)/16。例如,配置vGPU顯存為5 GB,則vGPU最高可得5/16張卡算力。

    說明:由Function Compute系統自動分配,無需手動設定。

    取值為0.05~(vGPU顯存(GB)/2)。

    取值說明:必須為0.05的倍數。具體資訊,請參見GPU規格配置表

    取值為128~(顯存(GB)*2048)。

    取值說明:必須為64的倍數。具體資訊,請參見GPU規格配置表

    fc.gpu.ampere.1

    Ampere系列A10卡型

    1024~24576(對應1 GB~24 GB)

    取值說明:必須為1024 MB的倍數。

    取值為vGPU顯存(GB)/24。例如,配置vGPU顯存為5 GB,則vGPU最高可得5/24張卡算力。

    說明:由Function Compute系統自動分配,無需手動設定。

    取值為0.05~(vGPU顯存(GB)/3)。

    取值說明:必須為0.05的倍數。具體資訊,請參見GPU規格配置表

    取值為128~((顯存(GB)*4096)/3)。

    取值說明:必須為64的倍數。具體資訊,請參見GPU規格配置表

    Function ComputeGPU執行個體同時支援以下資源規格。

    鏡像大小(GB)

    函數執行時間長度上限(s)

    磁碟大小上限(GB)

    頻寬能力上限(Gbps)

    ACR企業版(標準版):10

    ACR企業版(進階版):10

    ACR企業版(基礎版):10

    ACR個人版(免費):10

    86400

    10

    5

    說明
    • 執行個體規格設定為g1等同於設定為fc.gpu.tesla.1。

    • 目前支援GPU執行個體T4卡型的地區包括華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華南1(深圳)、日本(東京)、美國(維吉尼亞)和新加坡。

    • 目前支援GPU執行個體A10卡型的地區包括華東1(杭州)、華東2(上海)、日本(東京)和新加坡。

GPU規格配置表

展開查看fc.gpu.tesla.1執行個體規格配置表。

vGPU顯存(MB)

vCPU(核)

記憶體規格上限(GB)

記憶體規格(MB)

1024

0.05~0.5

2

128~2048

2048

0.05~1

4

128~4096

3072

0.05~1.5

6

128~6144

4096

0.05~2

8

128~8192

5120

0.05~2.5

10

128~10240

6144

0.05~3

12

128~12288

7168

0.05~3.5

14

128~14336

8192

0.05~4

16

128~16384

9216

0.05~4.5

18

128~18432

10240

0.05~5

20

128~20480

11264

0.05~5.5

22

128~22528

12288

0.05~6

24

128~24576

13312

0.05~6.5

26

128~26624

14336

0.05~7

28

128~28672

15360

0.05~7.5

30

128~30720

16384

0.05~8

32

128~32768

展開查看fc.gpu.ampere.1執行個體規格配置表。

vGPU顯存(MB)

vCPU(核)

記憶體規格上限(GB)

記憶體規格(MB)

1024

0.05~0.3

1.3125

128~1344

2048

0.05~0.65

2.625

128~2688

3072

0.05~1

4

128~4096

4096

0.05~1.3

5.3125

128~5440

5120

0.05~1.65

6.625

128~6784

6144

0.05~2

8

128~8192

7168

0.05~2.3

9.3125

128~9536

8192

0.05~2.65

10.625

128~10880

9216

0.05~3

12

128~12288

10240

0.05~3.3

13.3125

128~13632

11264

0.05~3.65

14.625

128~14976

12288

0.05~4

16

128~16384

13312

0.05~4.3

17.3125

128~17728

14336

0.05~4.65

18.625

128~19072

15360

0.05~5

20

128~20480

16384

0.05~5.3

21.3125

128~21824

17408

0.05~5.65

22.625

128~23168

18432

0.05~6

24

128~24576

19456

0.05~6.3

25.3125

128~25920

20480

0.05~6.65

26.625

128~27264

21504

0.05~7

28

128~28672

22528

0.05~7.3

29.3125

128~30016

23552

0.05~7.65

30.625

128~31360

24576

0.05~8

32

128~32768

相關文檔

  • 通過配置Auto Scaling規則時可以開啟閑置模式,具體操作請參見配置Auto Scaling規則

  • 關於Function Compute的計費方式以及計費項目等更多資訊,請參見計費概述

  • 使用API建立函數時可以通過instanceType參數指定執行個體類型,請參見CreateFunction - 建立函數

  • 關於如何通過控制台指定期望的執行個體類型和執行個體規格的具體操作,請參見管理函數