동기화 프로덕션 로드 테스트
개요
부하 테스트 는 앱이 프로덕션 환경에 도입된 후 사용자가 앱에 제출할 요청을 시뮬레이션하는 것입니다. 목표는 성능을 측정하고 실제 사용자에게 문제가 발생하기 전에 문제를 식별하여 해결하는 것입니다.
권장 전략
Node.js SDK를 사용하여 모바일 앱에 대한 일반적인 단일 사용자의 워크로드를 시뮬레이션할 수 있습니다. 예를 들어 SDK를 사용하여 다음을 수행할 수 있습니다.
설정된 수의 동기화된 Realm을 엽니다.
동기화된 영역에 일정 횟수만큼 쓰기를 수행합니다.
백엔드 서버 호출을 시뮬레이션합니다(예: Atlas Functions 호출).
시뮬레이션의 정확한 세부 정보는 앱의 실제 워크로드에 따라 달라집니다. 인스턴스로, 당신은 이미 서버 측에서 동기화 데이터를 초기화한 Realm을 열어 읽기 사용 사례를 시뮬레이션할 수 있습니다. 쓰기 워크로드를 시뮬레이션하기 위해 다른 Realm을 열 수 있습니다. 이러한 Realm은 사용 사례에 따라 공유 또는 비공개 사용자별 Realm이 혼합되어 있을 수 있습니다. 공유 영역을 사용하여 충돌 해결 속도를 테스트하고 문제를 발견할 수 있습니다. 따라서 실제 앱에서 Realm 데이터베이스를 사용하여 시뮬레이션을 설계하는 방법을 고려하세요.
참고
Node.js SDK는 모바일(iOS, Android, .NET 등) SDK와 동일한 기본 C++ 데이터베이스 및 동기화 클라이언트를 사용합니다. 따라서 프로덕션 모바일 앱에서와 동일한 코드 경로를 연습하면서 Node.js의 헤드리스 서버 환경을 활용할 수 있습니다.
그런 다음 실제 다중 사용자 워크로드를 테스트하기 위해 단일 사용자 시뮬레이션을 수백 또는 수천 개의 동시 노드에 배포할 수 있습니다. 예를 들면 다음과 같습니다.
Docker container에 앱을 패키지합니다.
Kubernetes 작업의 일부로 컨테이너를 배포합니다.
실제 프로덕션 워크로드에 맞게 작업의 매개변수를 조정합니다.
Kubernetes 작업을 완료하여 전체 성능을 계산하는 데 걸리는 시간을 측정합니다.
다양한 클라우드 기반 Kubernetes 서비스를 사용할 수 있습니다.