게임 수가 많지 않아서(코로나19 때문) 이 부분을 측정하고 조정해 볼 기회가 매우 적었습니다.
우리가 발견한 바에 따르면, 개선된 하드웨어 리소스(6+4 vCores 및 16+8GB RAM)를 사용하더라도, 비교적 활동적인 사용자 그룹만으로도 429 클라이언트 프리즈가 발생할 수 있었습니다. 이는 약 50%의 정기적인 게임 시청자들이 채팅에 참여한 U20 월드컵 경기에서 확인되었습니다.
측정과 시행착오를 통해 우리는 다음과 같은 조정 사항을 결정했습니다:
DISCOURSE_REJECT_MESSAGE_BUS_QUEUE_SECONDS: 0.4
DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE: 400
DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS: 100
이것은 429 오류의 80%를 제거하여 대부분의 사용자에게 비교적 원활한 경험을 제공하는 것 같습니다.
다음 단계는 다른 종류의 하드웨어 리소스를 구매하는 것이었을 것입니다. 단일 스레드 속도를 위해 전용 서버를 사용하는 것이거나, 수많은 vCores를 제공하는 플랜을 가진 VPS 제공업체로 전환하는 것이죠. 하지만 우리에게는 @sam이 이전에 언급했듯이 Discourse 호스팅 팀과 협력하는 것이 다음 단계입니다.
이 조정 사항들이 @iceman, @alec 또는 다른 분들에게 도움이 되기를 바랍니다. CPU 사용량과 큐잉에 주의를 기울이시기 바랍니다. 또한 이 작업을 통해 배운 것은, 컨테이너 2개가 하나보다 훨씬 낫다는 것입니다. 조정 사항을 거의 제로 다운타임으로 적용할 수 있고, 하드웨어 리소스를 더 세밀하게 활용할 수 있기 때문입니다.
실제 사건에 의해 주도되는 빠른 속도의 토론에서 성능/UX를 개선할 수 있는 새로운 조정 사항이나 발견 사항에 대해 여전히 관심이 있습니다.