게시: 2021년 1월 16일
지난 포스팅을 마지막으로 P2P(Mesh)와 SFU 방식의 1:N 화상회의 WebRTC 구현을 마쳤다. 구현의 마지막은 항상 성능 테스트 아닌가 해서 정말 간단하게 성능 테스트를 진행해봤다. 테스트를 위해서는 서버와 클라이언트가 독립적인 공간이 좋았겠지만 상황상 불가능했다는 것을 이해해줬으면 한다.
device | description |
---|---|
CPU | AMD Ryzen 5 3600 6-Core Processor 3.59GHz |
RAM | 32GB |
GPU | NVIDIA GeForce RTX 2060 SUPER |
OS | Windows 10 Pro |
the number of users | P2P/Mesh(Signaling Server) | SFU(Media Server) |
---|---|---|
2 | 4% | 5% |
3 | 10% | 8% |
4 | 22% | 9.5% |
5 | 34% | 18% |
6 | 47% | 25% |
7 | 64% | 30% |
8 | 80% | 30% |
the number of users | P2P/Mesh(Signaling Server) | SFU(Media Server) |
---|---|---|
2 | 0.1% | 2% |
3 | 0.1% | 13% |
4 | 0.1% | 24% |
5 | 0.1% | 32% |
6 | 0.1% | 41% |
7 | 0.1% | 48% |
8 | 0.1% | 50% |
이 포스팅으로 정말정말정말 WebRTC 관련 글은 끝이다. 미디어 서버는 돈 많은 사람들만 만드는 것인가 하는 느낌이 들기도 하지만 원래 SFU 서버는 다수의 화상회의 보다는 실시간 스트리밍이 적합하기 때문에 관련 테스트도 해보고 싶긴하다. YouTube 스트리밍이나 아프리카 TV, 트위치 등과 같이 스트리밍을 하는 경우 한 명이 송출하고 다른 사람은 받기만하면 되는 구조이기 때문에 SFU 서버는 이보다 훨씬 성능이 좋게 나올 것이라 예상해볼 수 있다. 어쨌든 이러한 점들을 뒤로한 채 추후에 WebRTC를 써볼 일이 있으면 이어서 포스팅을 해보도록 하겠다. 사실 화면 공유, P2P 파일 공유 등과 같은 작업을 해보고 싶긴 했는 데 일단 바쁜 일이 마무리 되면 해보도록 하겠다. 아무튼 작년부터 시작한 WebRTC 관련 포스팅을 올해 초에 마무리하게 되서 기쁘고 이 포스팅들이 다른 사람들에게 도움이 됐으면 한다.