Android&iOS&Windows&Mac
일반 사용자가 네트워크 품질을 평가하기 어렵기 때문에 영상 통화 전에 네트워크 테스트를 해보는 것을 권장합니다. 속도 테스트를 통해 네트워크 품질을 보다 직관적으로 평가할 수 있습니다.
주의 사항
영상 통화 중에는 테스트하지 마십시오. 통화 품질에 영향이 미칠 수 있습니다.
속도 테스트 자체가 일정량의 트래픽을 소모하기 때문에 매우 적은 양의 추가 트래픽 비용이 발생합니다(기본적으로 무시할 수 있음).
지원 플랫폼
iOS | Android | Mac OS | Windows | Electron | Web |
✓ | ✓ | ✓ | ✓ | ✓ |
속도 테스트 원리
속도 테스트의 원리는 SDK가 감지 패킷 배치를 서버 노드로 보낸 다음 반환된 패킷의 품질을 계산하고 속도 테스트 결과를 콜백 인터페이스를 통해 알려주는 것입니다.
속도 테스트 결과는 SDK의 이후 서버 선택 정책을 최적화하는 데 사용됩니다. 따라서 사용자가 최초 통화 전 먼저 속도 테스트를 진행하는 것을 권장하며, 이는 최적의 서버를 선택하는 데 도움이 됩니다. 또한 테스트 결과가 매우 이상적이지 않는 경우 시각화된 UI를 통해 사용자에게 더 나은 네트워크를 선택하도록 안내할 수 있습니다.
속도 테스트 결과 (TRTCSpeedTestResult)는 다음 필드를 포함합니다.
필드 | 의미 | 의미 설명 |
success | 성공 여부 | 테스트 성공 여부 |
errMsg | 오류 정보 | 대역폭 테스트에 대한 자세한 오류 정보 |
ip | 서버 IP | 속도 테스트 서버의 IP |
네트워크 품질 평가 | 평가 알고리즘에 의해 계산된 네트워크 품질은 loss가 낮을수록 rtt가 작아지고 점수가 높아집니다. | |
upLostRate | 업스트림 패킷 손실률 | 범위는 [0 - 1.0]입니다. 예를 들어 0.3은 서버로 전송되는 10개의 패킷 중 3개의 패킷이 도중 손실될 수 있음을 의미합니다. |
downLostRate | 다운스트림 패킷 손실률 | 범위는 [0 - 1.0]입니다. 예를 들어 0.2는 서버에서 수신되는 10개의 패킷 중 2개의 패킷이 도중 손실될 수 있음을 의미합니다. |
rtt | 네트워크 딜레이 | SDK와 서버 사이에 소요되는 시간을 나타냅니다. 값이 작을수록 좋습니다. 정상 값은 10ms - 100ms입니다. |
availableUpBandwidth | 업스트림 대역폭 | 예상 업스트림 대역폭. 단위: kbps, -1: 잘못된 값. |
availableDownBandwidth | 다운스트림 대역폭 | 예상 다운스트림 대역폭. 단위: kbps, -1: 잘못된 값. |
속도 테스트 방법
TRTCCloud의
startSpeedTest
기능을 통해 속도 측정 기능을 실행할 수 있습니다. 속도 측정 결과는 콜백 함수를 통해 반환됩니다.// 네트워크 속도 테스트 실행 샘플 코드. sdkAppId, UserSig 필요(획득 방법은 기본 기능 참고)// 로그인 후 테스트 시작 예시- (void)onLogin:(NSString *)userId userSig:(NSString *)userSid{TRTCSpeedTestParams *params;// sdkAppID는 콘솔에서 획득한 실제 애플리케이션 AppIDparams.sdkAppID = sdkAppId;params.userID = userId;params.userSig = userSig;// 예상 업스트림 대역폭(kbps, 값 범위: 10 ~ 5000, 0일 때 테스트되지 않음)params.expectedUpBandwidth = 5000;// 예상 다운스트림 대역폭(kbps, 값 범위: 10 ~ 5000, 0일 때 테스트되지 않음)params.expectedDownBandwidth = 5000;[trtcCloud startSpeedTest:params];}- (void)onSpeedTestResult:(TRTCSpeedTestResult *)result {// 속도 측정이 완료된 후 속도 측정 결과 콜백}
//네트워크 속도 테스트 실행 샘플 코드. sdkAppId, UserSig 필요(획득 방법은 기본 기능 참고)// 로그인 후 테스트 시작 예시public void onLogin(String userId, String userSig){TRTCCloudDef.TRTCSpeedTestParams params = new TRTCCloudDef.TRTCSpeedTestParams();params.sdkAppId = GenerateTestUserSig.SDKAPPID;params.userId = mEtUserId.getText().toString();params.userSig = GenerateTestUserSig.genTestUserSig(params.userId);params.expectedUpBandwidth = Integer.parseInt(expectUpBandwidthStr);params.expectedDownBandwidth = Integer.parseInt(expectDownBandwidthStr);// sdkAppID는 콘솔에서 획득한 실제 애플리케이션 AppIDtrtcCloud.startSpeedTest(params);}// 속도 테스트 결과 수신. TRTCCloudListener를 상속하여 다음 메소드 구현void onSpeedTestResult(TRTCCloudDef.TRTCSpeedTestResult result){// 속도 측정이 완료된 후 속도 측정 결과 콜백}
// 네트워크 속도 테스트 실행 샘플 코드. sdkAppId, UserSig 필요(획득 방법은 기본 기능 참고)// 로그인 후 테스트 시작 예시void onLogin(const char* userId, const char* userSig){TRTCSpeedTestParams params;// sdkAppID는 콘솔에서 획득한 실제 애플리케이션 AppIDparams.sdkAppID = sdkAppId;params.userId = userid;param.userSig = userSig;// 예상 업스트림 대역폭(kbps, 값 범위: 10 ~ 5000, 0일 때 테스트되지 않음)param.expectedUpBandwidth = 5000;// 예상 다운스트림 대역폭(kbps, 값 범위: 10 ~ 5000, 0일 때 테스트되지 않음)param.expectedDownBandwidth = 5000;trtcCloud->startSpeedTest(params);}// 속도 테스트 결과 수신void TRTCCloudCallbackImpl::onSpeedTestResult(const TRTCSpeedTestResult& result){// 속도 측정이 완료된 후 속도 측정 결과 콜백}
// 네트워크 속도 테스트 실행 샘플 코드. sdkAppId, UserSig 필요(획득 방법은 기본 기능 참고).// 로그인 후 테스트 시작 예시private void onLogin(string userId, string userSig){TRTCSpeedTestParams params;// sdkAppID는 콘솔에서 획득한 실제 애플리케이션 AppIDparams.sdkAppID = sdkAppId;params.userId = userid;param.userSig = userSig;// 예상 업스트림 대역폭(kbps, 값 범위: 10 ~ 5000, 0일 때 테스트되지 않음)param.expectedUpBandwidth = 5000;// 예상 다운스트림 대역폭(kbps, 값 범위: 10 ~ 5000, 0일 때 테스트되지 않음)param.expectedDownBandwidth = 5000;mTRTCCloud.startSpeedTest(params);}// 속도 테스트 결과 수신public void onSpeedTestResult(TRTCSpeedTestResult result){// 속도 측정이 완료된 후 속도 측정 결과 콜백}
속도 측정 툴
인터페이스를 호출하여 네트워크 속도를 측정하고 싶지 않은 경우, TRTC는 데스크톱에서 네트워크 속도 측정 툴 프로그램을 제공하여 상세한 네트워크 품질 정보를 빠르게 얻을 수 있도록 도와줍니다.
다운로드 링크
테스트 지표
지표 | 의미 |
WiFi Quality | Wi-Fi 신호 품질 |
DNS RTT | Tencent Cloud의 속도 테스트 리졸브 소요 시간 |
MTR | MTR은 클라이언트에서 TRTC 노드까지의 패킷 손실률 및 지연을 감지할 수 있는 네트워크 테스트 툴이며 라우팅의 각 홉에 대한 특정 정보 확인 가능 |
UDP Loss | 클라이언트에서 TRTC 노드로의 UDP 패킷 손실률 |
UDP RTT | 클라이언트에서 TRTC 노드까지의 UDP 딜레이 |
Local RTT | 클라이언트에서 로컬 게이트웨이로의 딜레이 |
Upload | 업스트림 예상 대역폭 |
Download | 다운스트림 예상 대역폭 |
툴 화면 캡처
빠른 테스트:
지속적인 테스트: