Code Engine의 한계 및 할당량

다음 절에서는 IBM Cloud® Code Engine 제한사항 및 할당량 설정에 대한 기술적 세부사항을 제공합니다.

리소스 할당이 프로젝트 할당량과 청구에 어떤 영향을 미치나요?

콘솔의 프로젝트 개요 페이지에서 현재 Code Engine 리소스 할당에 대한 정보를 볼 수 있습니다. 각 특정 애플리케이션이나 작업에 대해 구성한 내용에 따라 할당된 메모리 및 vCPU 값에 대한 정보를 확인하려면, 프로젝트 내의 애플리케이션 또는 작업 목록을 확인하십시오. CLI를 사용할 경우 project get 명령을 사용하여 프로젝트의 현재 리소스 할당 사용량에 대한 정보도 얻을 수 있습니다.

Code Engine 를 사용하면, 워크로드가 소비하는 구성된 메모리 및 vCPU 에 따라 실제로 사용한 리소스와 수신된 HTTP 호출에 대해서만 요금이 부과됩니다. 앱의 인스턴스 수가 0으로 줄어들거나, 작업이나 빌드가 실행 중이 아닌 경우, 리소스를 소비하지 않으므로 요금이 부과되지 않습니다. 모든 애플리케이션과 작업을 호스팅하기 위해 Code Engine은 필요한 인프라를 배치하고 관리합니다. 단, 이 인프라에 대해 비용이 청구되지는 않지만 프로젝트 할당량에는 포함됩니다. 할당량에 대한 자세한 내용은 다음 표를 참조하십시오.

이제 임시 저장소 사용은 메모리에 의해 제한됩니다. Code Engine 의 임시 저장소는 기본값인 0.4 GB(400MB)나 메모리 구성 값을 초과할 수 없습니다. 임시 저장소의 기본값보다 더 많은 메모리가 필요한 경우 vCPU 와 메모리의 유효한 조합에 따라 메모리를 늘려야 합니다.

임시 저장소와 메모리의 관계에 대한 자세한 내용은 지원되는 메모리 및 CPU 조합을 참조하세요.

애플리케이션 기본값 및 한계

다음 표에는 애플리케이션에 대한 한계가 나열되어 있습니다.

애플리케이션 한계
범주 기본 최대값 최대값을 확장해야 하는 경우
CPU 1.0 12.0 IBM 지원 센터에 문의
임시 스토리지 400M 48G
(메모리에 따라 제한됨)
IBM 지원 센터에 문의
최대 스케일 10 250 IBM 지원 센터에 문의
메모리 4G 48 G IBM 지원 센터에 문의
최소 스케일 0 250 IBM 지원 센터에 문의
동시성 100 1000 IBM 지원 센터에 문의
제한시간 300초 600초 IBM 지원 센터에 문의

지원되는 CPU와 메모리 조합에 대한 자세한 정보는 지원되는 메모리와 CPU 조합을 참조하십시오.

Code Engine에는 프로젝트 내 앱에 대한 한계가 있습니다.

  • 프로젝트당 앱은 40개로 제한됩니다.
  • 프로젝트당 모든 앱에 대해 총 120회의 수정 횟수로 제한됩니다.

Code Engine에서는 애플리케이션 리소스에 대한 과도한 적용을 지원하지 않습니다. 따라서 API 또는 kubectl apply -f <yaml>을 사용하여 애플리케이션을 작성하는 경우 CPU, MemoryEphemeral Storage에 대한 Resource.RequestsResource.Limits 값을 지정해야 하며 동일해야 합니다.

작업 기본값 및 한계

다음 표에는 작업에 대한 한계가 나열되어 있습니다.

작업 한계
범주 기본 최대값 최대값을 확장해야 하는 경우
배열 인덱스 0 9999999 IBM 지원 센터에 문의
배열 크기 1 1000 해당사항 없음
CPU 1.0 12.0 IBM 지원 센터에 문의
임시 스토리지 400M 48G
(메모리에 따라 제한됨)
IBM 지원 센터에 문의
메모리 4G 48 G IBM 지원 센터에 문의
재시도 3 5 IBM 지원 센터에 문의
제한시간 7200초(2시간) 86400초(24시간) IBM 지원 센터에 문의

배열 인덱스는 쉼표로 구분된 목록이나 하이픈으로 구분된 인덱스 범위이며, 이를 통해 실행할 작업 인스턴스를 지정합니다. 예를 들어, 1,3,6,9 또는 1-5,7-8,10 와 같습니다.

배열 크기는 병렬로 실행할 작업 인스턴스의 수를 의미합니다.

지원되는 CPU와 메모리 조합에 대한 자세한 정보는 지원되는 메모리와 CPU 조합을 참조하십시오.

Code Engine은 프로젝트당 100개의 작업으로 제한됩니다. 100개의 작업 실행이 시작된 후에는, 새로운 작업 실행을 시작하기 전에 기존 작업 실행을 반드시 정리하십시오.

작업 크기 한계

Code Engine에서는 작업 및 작업 실행의 크기를 최대 10KiB로 제한합니다. 콘솔, CLI 또는 API를 사용하여 작업 및 작업 실행을 작성하거나 업데이트할 경우 Code Engine에서 작업 또는 작업 실행의 크기를 확인합니다. 오퍼레이션이 한계를 초과하면 크기 한계 초과 오류가 수신됩니다. 이 오류가 발생하면 다음 방법 중 하나를 사용하여 작업 또는 작업 실행의 규모를 줄여 보십시오.

  • 명령 및 인수를 사용하는 경우에는 이러한 옵션의 사용을 줄이거나, 길이를 짧게 하거나, 작업 또는 작업 실행에 사용되는 컨테이너 이미지로 이동하십시오.

  • 환경 변수를 사용하는 경우에는 변수를 더 적게 사용하거나 길이를 줄이십시오. 시크릿 또는 configmap을 사용하여 환경 변수를 정의하고 job create, job update, jobrun submitjobrun resubmit 명령에 --env-from-secret 또는 --env-from-configmap 옵션을 사용하여 작업으로 가져올 수 있습니다.

작업 문제 해결에 대한 자세한 내용은 “문제 해결 - 왜 작업 실행을 제출할 수 없나요? ”를 참조하십시오.

기능 제한

다음 표에는 함수의 제한 사항이 나열되어 있습니다.

기능 제한
범주 최대
런타임 길이 120초
메모리 48,000 MB
요청 본문 및 응답 본문 크기 5MB
코드 크기(인라인) 100KB, base64 오버헤드 포함
코드 크기(로컬 소스) 200MB 압축
코드 크기(API) 100KB, base64 오버헤드 포함

주기적 타이머(cron) 구독 한계

다음 표에는 정기 타이머 구독의 한도가 나와 있습니다.

주기적 타이머 제한
범주 최대 최대값을 확장해야 하는 경우
데이터 크기 4096 바이트 IBM 지원 센터에 문의

Code Engine은 주기적 타이머(cron) 이벤트의 데이터 크기를 최대 4096바이트로 제한합니다. 주기적 타이머(cron) 이벤트를 작성하거나 업데이트할 때 Code Engine은 cron 이벤트 데이터의 크기를 확인합니다. 주기적 타이머(cron) 이벤트 데이터가 한계를 초과하면 크기 한계 초과 오류가 발생합니다. 이 오류가 발생할 경우 cron 이벤트 데이터 크기를 4096바이트 미만으로 줄이십시오.

구독 문제점 해결에 대한 자세한 정보는 구독 디버깅을 참조하십시오.

프로젝트 한계

다음 표에는 프로젝트에 적용되는 한도가 나와 있습니다.

프로젝트 한계
범주 최대 최대값을 확장해야 하는 경우
지역별 프로젝트 20 IBM 지원 센터에 문의

최대 프로젝트 수에는 활성 상태인 프로젝트 및 영구적으로 삭제되지 않는 프로젝트가 포함됩니다. 프로젝트를 삭제하면 해당 프로젝트는 임시 삭제되며, 영구 삭제되기 전 7일 이내에 복원할 수 있습니다. 콘솔 또는 CLI를 사용하여 소프트 삭제된 프로젝트를 표시하십시오. 자세한 정보는 프로젝트 삭제를 참조하십시오.

프로젝트 할당량

다음 표에는 프로젝트 할당량이 나열되어 있습니다.

제한은 프로젝트 내에서 서로 독립적으로 적용된다는 점에 유의하세요. 512GB 메모리 제한과 같은 제한에 도달하면 앱 또는 작업의 250개 인스턴스와 같은 다른 제한에 아직 도달하지 않았더라도 이 할당량 제한이 워크로드 실행 기능에 영향을 미칠 수 있습니다.

프로젝트 할당량
범주 설명
프로젝트당 앱은 40개로 제한됩니다.
앱 개정 프로젝트당 모든 앱에 대해 총 120회의 수정 횟수로 제한됩니다.
빌드 프로젝트당 100개의 빌드 구성으로 제한됩니다.
빌드 실행 프로젝트당 100개의 빌드 실행으로 제한되며, 그 이후에는 이전 실행을 제거하거나 정리해야 합니다.
Configmap 프로젝트당 100개의 configmap으로 제한됩니다.
CPU 모든 앱 인스턴스, 실행 중인 작업 인스턴스 및 실행 중인 빌드 인스턴스의 총 조합은 128개를 초과할 수 없습니다 vCPU.
도메인 매핑(사용자 지정) 프로젝트당 사용자 지정 도메인 매핑은 80개로 제한됩니다.
임시 스토리지 모든 앱 인스턴스, 실행 중인 작업 인스턴스 및 실행 중인 빌드 인스턴스의 총 조합은 512G의 임시 저장소를 초과할 수 없습니다.
Fleet 프로젝트당 함대는 1,000개로 제한됩니다.
함수 프로젝트당 사용할 수 있는 함수는 20개로 제한됩니다.
인스턴스(활성) 앱 인스턴스, 함수 인스턴스, 실행 중인 작업 인스턴스 및 실행 중인 빌드 인스턴스의 수는 250개를 초과할 수 없습니다.
인스턴스(총계) 활성 인스턴스의 수와 완료된 작업 및 빌드 인스턴스의 수는 2500개를 초과할 수 없습니다.
작업 프로젝트당 100개의 작업으로 제한됩니다.
작업 실행 프로젝트당 100개의 작업 실행으로 제한되며, 그 이후에는 이전 실행을 제거하거나 정리해야 합니다.
메모리 모든 앱 인스턴스, 실행 중인 작업 인스턴스 및 실행 중인 빌드 인스턴스의 총 조합은 512G의 메모리를 초과할 수 없습니다.
시크릿 프로젝트당 100개의 시크릿으로 제한됩니다.
구독(IBM Cloud Object Storage) 프로젝트당 100개의 Object Storage 구독으로 제한됩니다.
서브넷 풀 프로젝트당 서브넷 풀은 1,000개로 제한됩니다.
구독 ( Kafka / IBM® Event Streams for IBM Cloud® ) 프로젝트당 Kafka 구독은 100개로 제한됩니다.
구독(주기적 타이머(cron)) 주기적 타이머(cron) 구독은 프로젝트당 100개로 제한됩니다.

예를 들어 앱 또는 작업의 활성 인스턴스는 128개( vCPU ) 또는 250개로 제한됩니다. 각 제한은 다른 제한과 독립적으로 적용되므로 0.125 VCPU를 사용하여 앱을 250개 인스턴스로 확장하려고 한다고 가정해 보겠습니다. 이 값은 최대값인 128 vCPU 보다 작은 약 32 vCPU, 로 계산됩니다. 그러나 0.125 vCPU, 으로 512개 인스턴스를 사용하면 최대 128개 vCPU, 는 여전히 충족하지만 최대 250개 인스턴스 제한을 위반하게 됩니다.

한계 늘리기

한계 값은 고정되어 있지만, IBM 지원 센터에 문의하여 지원 케이스를 작성하면 늘릴 수 있습니다.