방금 Amazon Lightsail 인스턴스를 간단히 재시작하는 과정에서 가장 기이한 경험을 했습니다.
재시작을 진행했고… 재시작을 기다렸습니다.
일부(캐시되지 않은 것으로 추정되는) 페이지에서 “502 Gateway Error - Nginx” 오류 화면이 나타났습니다. 잠시 기다렸습니다…
셸을 통해 discourse 재빌드를 수행했습니다.
재빌드 실패라는 오류 메시지가 떴습니다.
./discourse-doctor를 사용했습니다. - 이것도 실패했습니다.
비공식 플러그인을 비활성화하고 재빌드했습니다. - 이것도 실패했습니다.
완전히 망했다고 생각했습니다. 그리고 더 많은 연구를 하던 중 다시 포럼을 확인했는데, 이상하게도 정상적으로 작동하고 있었습니다. discourse 문서의 즉각적인 반응이 "경고! 앱이 아예 실행되지 않습니다!"였다는 점을 고려하면 전혀 말이 되지 않죠.
제 추측은 이것이 아마도 Amazon의 버스테이블(burstable) 한도와 더 관련이 있을 것이라는 것입니다. 재시작이 서버에 부담을 주어 초기 502 오류의 원인이 되었을 수 있고, 확실히 재빌드가 서버를 버스트 한도의 70~80%까지 끌어올렸으며, 재빌드 스크립트를 실행할 시스템 리소스가 부족했을 수도 있습니다.
그래서 제 최종 질문은 (이것이 업데이트 재빌드 프로세스를 끊임없이 괴롭혀 온 문제이므로) 서버에 가해지는 업데이트 스크립트의 부하를 제한하여 서버가 과부하로 멈추지 않게 하는 방법이 있는가? 하는 것입니다. 이 인스턴스는 8GB RAM을 갖추고 있으므로 그렇게 약한 편은 아니거든요.
Seeding default
*** Bundling assets. This will take a while ***
$ RUBY_GC_MALLOC_LIMIT_MAX=20971520 RUBY_GC_OLDMALLOC_LIMIT_MAX=20971520 RUBY_GC_HEAP_GROWTH_MAX_SLOTS=50000 RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=0.9 bundle exec rake themes:update assets:precompile
Updating Dark...
Failed to update Dark
about.json contains invalid values: Maximum discourse version is invalid