openvidu 에서 제공하는 openvidu-dev 서버 이미지를 활용해서 튜토리얼을 진행, 8명까지 동시 접속 했을 때 memory 사용량과 cpu 사용량을 로컬환경 docker 에서 테스트 해보았습니다.
처음 800mb에서 시작해서 접속할 때 마다 조금씩 오르기 시작했고 8명 입장 시 1.1gb 수치에서 멈췄습니다.
8개의 창을 전부 껐지만 memory 사용량은 내려가지 않았습니다. openvidu 공식문서에서는 openvidu-dev 서버 이미지는 개발용으로 배포한 이미지이기 때문에 배포용으로는 사용하지말라는 문구를 보면 배포용 서버들은 메모리 관리를 해주지 않을까 싶습니다. 찾아보는 중인데 아직 찾지는 못했고 크롬창을 전부 종료한 후 현재 5분정도 지난 상태에서도 memory 사용량은 그대로입니다.(cpu는 내려갑니다.)
openvidu 공식 문서에서 권장하는 서버 배포 환경 사양은 '최소 2개의 CPU와 8GB의 RAM ' 이라고 명시되어 있습니다.
사용이유
openvidu, mediasoup 등은 webRTC의 STUN, TURN, media server 를 쉽고 무료로 제공해주는 플랫폼입니다. webRTC의 깊은 분야 특성 상 각 서버들을 직접 구현하는 것은 프로젝트 기간 상 무리라는 판단이 있고 시간안에 서비스를 구축할 수 있는 방법은 외부의 플랫폼이나 라이브러리를 이용하는 것인데 signaling 서버만으로는 저희 서비스에는 무리가 있습니다. #125
openvidu와 mediasoup 을 비교했을 때 공식문서의 설명이나 사용 방법 등에서 openvidu가 가독성이 좋고 이해하기 비교적 쉽게다는 판단이였습니다.
openvidu-CE(무료버전) 은 코어당 100개의 스트림을 감당한다고 합니다. 기본 서버 사양으로 무료버전을 사용했을 때 최대 200개의 스트림을 감당한다고 보면 저희 서비스 규모에서는 충분할 것 같다는 의견입니다.
openvidu 에는 어플리케이션 서버 개발 문서에 node.js 가이드가 있고 UI 전체 제어에 react 가이드가 있습니다.
사용방법
FE <-> BE <-> openvidu 서버 이렇게 삼각으로 이루어 지는데 openvidu 서버는 docker image로 제공이 됩니다.
프록시 서버를 사용한다면 내부적으로 경로설정도 해줘야하기 때문에 우선적으로 우리 서비스에 어떻게 적용하면 좋을지 먼저 구상 후 배포 환경에 대해 다시 고민해 봐야 할 것 같습니다.
📡Openvidu 활용하기
사용이유
사용방법
@kimhsno1 @Minhyeong-S @yunjin5450