Google App Engine이 인스턴스를 무작위로 다시 시작해야 합니까?

Google App Engine이 인스턴스를 무작위로 다시 시작해야 합니까?

어제 australia-southeast1 지역에서 실행되는 앱 인스턴스가 하나 있었습니다(부끄럽습니다).

어젯밤은 앱에 있어 매우 중요한 시간이었습니다. 사람들은 이 인스턴스가 완벽하게 작동한다고 믿고 있었는데, 이벤트 중간에 인스턴스가 사라졌습니다. 약 8분 후 새 인스턴스가 생성되어 계속해서 트래픽을 제공했습니다.

이것이 내가 기대해야 하는 것입니까? 인스턴스가 무작위로 사라지고 다시 시작됩니까? 두 개의 버전을 실행해야 한다는 것을 알고 있지만 두 버전이 동시에 다시 시작되면 어떻게 될까요?

앱(표준, 단순 Rails 앱)이 다시 시작되는 시점에는 로그에 오류가 표시되지 않습니다. 로그에는 8분의 간격이 있고 그 뒤를 이어 새 인스턴스에서 Puma가 부팅됩니다.

CPU 사용량은 일정했고 약 5%를 넘는 경우는 거의 없었습니다. 메모리 사용량은 약 840MB였으며, 다시 시작하기 직전에 880MB로 약간 높았습니다. "디스크 바이트"는 일정하게 ~15KB/초였으며, 다시 시작하는 시점에 40MB/초로 급등했습니다.

app.yaml

entrypoint: bundle exec rackup -p $PORT
env: flex
runtime: ruby

handlers:
- url: .*
  script: main.app
  secure: always

automatic_scaling:
  min_num_instances: 1
  max_num_instances: 4
  cpu_utilization:
    target_utilization: 0.75

답변1

문서에 따르면 예기치 않은 재시작이 발생하는 주요 원인은 2가지입니다.

  • 매주 다시 시작되는 인스턴스 [1].
  • 200과 다른 HTTP 코드를 제공하는 상태 확인 [2].

추가 정보를 제공해 주시면 논의해 드리겠습니다.

답변2

나에게도 비슷한 문제가 있습니다. 새로운 건강 검진신청서를 확인하지 마세요, VM 및 Docker만(애플리케이션을 확인하도록 설정하지 않은 한), 따라서 문제가 앱 엔진 자체에 있다는 것이 꽤 분명해 보입니다.

편집: 왜 부정인지는 확실하지 않지만 더 명확하게 설명합니다.

예, 인스턴스가 무작위로 다시 시작될 것으로 예상해야 합니다. 현재 보고 있는 동작은 앱으로 인한 것이 아닙니다.

관련 정보