Cloud Run 서비스에서 각 버전은 모든 수신 요청을 처리하는 데 필요한 인스턴스 수에 맞게 자동으로 확장됩니다.
요청을 처리하는 인스턴스 수가 늘어나면 CPU와 메모리 사용량이 늘어나 비용이 증가합니다.
Cloud Run은 보다 세밀하게 제어할 수 있도록 지정된 인스턴스에서 동시에 처리 가능한 최대 요청 수를 지정하는 인스턴스당 최대 동시 요청 수 설정을 제공합니다.
인스턴스당 최대 동시 요청 수
인스턴스당 최대 동시 요청 수를 구성할 수 있습니다. 기본적으로 각 Cloud Run 인스턴스는 요청을 동시에 최대 80개까지 수신할 수 있습니다. 최대 1000까지 늘릴 수 있습니다.
기본 값을 사용해야 하지만, 필요한 경우 최대 동시 실행 값을 낮출 수 있습니다. 예를 들어 코드가 동시 요청을 처리할 수 없으면 동시 실행을 1
로 설정합니다.
지정된 동시 실행 값은 최댓값이며, 인스턴스의 CPU가 이미 많이 사용되는 경우 Cloud Run은 지정된 인스턴스에 많은 요청을 보내지 못할 수 있습니다.
다음 다이어그램은 인스턴스당 최대 동시 요청 수 설정이 수신되는 동시 요청을 처리하는 데 필요한 인스턴스 수에 어떻게 영향을 미치는지 보여줍니다.
최대 동시 실행을 한 번에 하나의 요청으로 제한해야 하는 경우
한 번에 하나의 요청만 실행 중인 각 인스턴스에 전송되도록 동시 실행을 제한할 수 있습니다. 다음과 같은 경우에 동시 실행 제한을 고려해야 합니다.
- 각 요청 실행 시 사용 가능한 CPU 또는 메모리 대부분이 사용됩니다.
- 컨테이너가 두 요청이 공유할 수 없는 전역 상태에 있는 경우와 같이 컨테이너 이미지가 여러 요청을 동시에 처리하도록 설계되지 않았습니다.
수신 요청의 급증을 처리하기 위해 많은 인스턴스가 시작되어야 하기 때문에 동시 실행 값이 1
이면 확장 성능에 부정적인 영향을 미칠 가능성이 높습니다.
우수사례
다음 측정항목에서는 클라이언트 400개가 인스턴스당 최대 동시 요청이 1로 설정된 Cloud Run 서비스로 요청을 초당 3개 보내는 사용 사례를 보여줍니다. 위쪽의 녹색 선은 시간에 경과에 따른 요청 횟수를 나타내고, 아래쪽의 파란색 선은 요청을 처리하기 위해 시작된 인스턴스 수를 나타냅니다.
다음 측정항목은 400개의 클라이언트가 인스턴스당 최대 동시 요청이 80개로 설정된 Cloud Run 서비스에 대해 초당 3개의 요청을 수행하는 것을 보여줍니다. 위쪽의 녹색 선은 시간에 경과에 따른 요청 횟수를 나타내고, 아래쪽의 파란색 선은 요청을 처리하기 위해 시작된 인스턴스 수를 나타냅니다. 동일한 요청 볼륨을 처리하는 데 필요한 인스턴스 수가 훨씬 더 적게 필요한 것을 볼 수 있습니다.
다음 단계
Cloud Run 서비스의 인스턴스당 최대 동시 요청 수를 관리하려면 인스턴스당 최대 동시 요청 수 설정을 참조하세요.
인스턴스당 최대 동시 요청 수 설정을 최적화하려면 동시 실행 조정을 위한 개발 팁을 참조하세요.