IIS 7.0 비트 레이트 쓰로틀링 모듈 발표
번역/ScottGu's Blog 2008. 3. 18. 00:25원문 : IIS 7.0 Bit Rate Throttling Module Released
웹에서 동영상을 보는 것은 이제 아주 일반적인 시나리오입니다. 대부분의 주요 사이트들은 비디오를 다양한 형식(제품 동영상, 트레이닝 동영상, 화려한 광고 동영상, 사용자가 작성한 컨텐트 등) 으로 웹과 통합하고 있습니다.
사이트에 동영상을 추가하는데 있어 한 가지 이슈는 동영상을 전송하는데 비용이 많이 든다는 것입니다. 네트워크 대역폭을 사용하는 것은 많은 비용이 드는 일입니다. 동영상의 화질이 좋을수록 비용은 빠르게 늘어납니다.
아래 블로그 포스트에는 동영상을 전송할 때 비용을 줄일 수 있는 방법에 대한 개요가 있습니다. 그리고 며칠 전에 발표된 IIS 7.0 Bit Rate Throttling Module의 다운로드에 대한 안내도 있습니다. IIS 7.0 Bit Rate Throttling Module는 IIS 웹 서버에서 동영상을 서비스할 때 드는 비용을 줄이고, 모든 종류의 동영상 기술(실버라이트, 윈도우즈 미디어 플레이어, 플래시)을 지원합니다.
옵션 1 : 동영상 호스팅 서비스를 사용
동영상의 대역폭에 드는 비용을 줄일 수 잇는 한 가지 방법은 유투브나 Microsoft Silverlight Streaming Service 같은 동영상 호스팅 서비스를 받는 것입니다.
실버라이트 스트리밍 서비스를 사용하면 무료로 10GB 까지 동영상을 업로드 할 수 있으며 한 달에 5 테라바이트까지 다운로드를 할 수 있습니다. (최고 속도 1.4Mbps). 이 동영상은 개발자가 작성한 실버라이트 클라이언트에 될 수 있습니다. 이 말은 실버라이트 스트리밍 서비스 동영상을 보기 위해서 특정 동영상 플레이어나 필요하지 않으며, 동영상 재생 시에 서비스 로고나 워터마크나 나타나지도 않는다는 의미입니다. 따라서 동영상을 자신의 사이트에 통합하고 UI를 자유스럽게 바꿀 수도 있습니다.
옵션 2 : 자신의 서버에서 동영상을 호스팅
경우에 따라서는 동영상 호스팅 서비스가 올바른 선택이 아닐 수도 있습니다. (예를 들자면, 사용자 인증을 커스터마이징하거나, 아주 긴 동영상을 재생하거나, 동영상에 광고를 삽입하는 경우 등을 들 수 있겠습니다.) 이럴 경우에는 자신만의 동영상 서버를 구축하여야 합니다.
자신의 서버에서 동영상을 전송하는 방법에는 대체로 두 가지가 있습니다. 스트리밍과 우선 재생 방법이 그것입니다.
스트리밍 서버 시나리오
윈도우 미디어 서비스(WMS)는 윈도우 운영체제용 무료 스트리밍 서버인데 윈도우 미디어 플레이어와 크로스 플랫폼 실버라이트 브라우저 클라이언트를 모두 지원합니다. 이는 주문형 파일 스트리밍 시나리오(예를 들어 .wmv 파일의 스트리밍)와 실시간 스트리밍 시나리오(예를 들면 실시간으로 진행 중인 올림픽 중계)를 모두 지원합니다.
윈도우 미디어 서비스는 모든 버전의 윈도우 서버에서 사용할 수 있습니다. 이에는 새로운 윈도우 서버 2008 웹 서버 에디션도 포함됩니다. (4개의 프로세서와 32GB 램, IIS, ASP.NET, SharePoint, 윈도우 미디어 서비스를 지원함에도 불구하고 가격은 $469에 불과합니다.)
우선 재생 다운로드 시나리오
우선 재생 다운로드 시나리오에서는 클라이언트가 웹 서버로부터 곧바로 동영상을 다운로드하기 시작하고, 재생하기에 필요한 동영상이 다운로드 되는대로 재생을 시작합니다.
우선 재생 다운로드 방법을 사용할 때의 장점은 웹 서버를 설정하는 것이 매우 쉽다는 것입니다. 동영상을 웹 서버에 복사하거나 FTP로 전송하고, URL을 얻어 동영상 클라이언트 플레이어에 전달만 하면 됩니다. 그 외에는 어떠한 웹 서버의 설정도 필요하지 않으며, 당연히 스트리밍 서버를 설치할 필요도 없습니다.
우선 재생 다운로드 방법의 단점은, 웹 서버는 기본적으로 파일을 가능한 한 빨리 다운로드 하도록 설계되었다는 것입니다. 그래서 사용자가 사이트의 동영상을 클릭하면, 웹 서버는 가능한 한 빨리 동영상을 전송하려고 합니다. 이런 상황은 사용자가 동영상 전체를 보려고 하는 경우에는 적당합니다. 하지만 사용자가 동영상의 절반만 보는 경우(또는 다른 페이지로 이동하는 경우)에는 보여지지도 않는 동영상이 모두 다운로드 되어야 합니다.
만일 보여지지 않은 동영상 컨텐츠가 수 메가바이트(혹은 몇 십 메가바이트)에 달한다면, 이는 엄청난 대역폭의 낭비라고 할 수 있습니다.
IIS 7.0 비트 레이트 쓰로틀링 모듈
지난 주에 IIS 팀은 우선 재생 다운로드를 훨씬 저렴하게 사용할 수 있는 무료 IIS 7.0비트 레이트 쓰로틀링 모듈을 발표하였습니다.
간략하게 이야기하자면, 비트 레이트 쓰로틀링 모듈은 IIS가 파일을 요청 받았을 때 미디어 컨텐트의 앞부분을 신속하게 전송하게 하는 일을 합니다. 기본적으로는 마임 타입과 파일의 비트 레이트 인코딩을 조사하여 20초간 재생될 분량의 미디어 파일을 최대한 빨리 내려 보냅니다. 동영상 재생이 20초에 이르면 IIS 비트 레이트 쓰로틀링 모듈은 파일의 비트 레이트 인코딩과 같게 전송 속도를 떨어뜨립니다. 또한 클라이언트의 동영상 플레이어를 감시하고 있다가 사용자가 페이지를 닫거나 다른 곳으로 이동을 하면 자동으로 남은 파일의 전송을 취소합니다.
예를 들어서, 500 Kbps비트 레이트로 인코딩된 35 MB 짜리 동영상 파일을 재생한다고 합니다. IIS는 빠른 동영상 재생을 위해 최고 속도로 20초 분량의 데이터를 먼저 전송할 것입니다 (500 Kbps * 20초 = 1.25 MB). 그 이후에는 500 Kbps의 다운로드 속도로 데이터를 전송합니다. (사용자는 항상 20초 동안의 동영상 캐시를 가지고 있기 때문에 재생 중 끊김 현상이 발생하지 않습니다.)
1분 후에 사용자가 동영상 재생을 중지하거나 다른 페이지로 이동하면, IIS는 이름 감지하여 30 MB 파일의 남은 부분의 전송을 중지합니다. 이 시나리오에서는 전체 동영상 중 80 초만 다운로드하였기 때문에 (사용자가 본 60초 + 버퍼 20초), 35 MB 대신 5 MB의 네트워크 대역폭 만이 소비되었습니다. 이렇게 30 MB씩 절약하는 횟수가 하루에 수 백 혹은 수 천 번 이라면, 일 년이면 몇 백 만원에 이르는 돈을 절약할 수 있을 것입니다.
IIS 7.0 비트 레이트 쓰로틀링 모듈의 다운로드와 설치
여기에 가시면 IIS 7.0 비트 레이트 쓰로틀링 모듈을 다운로드하고 더 많은 정보를 얻을 수 있습니다.
설치한 후에 IIS 관리 도구에서 "비트 레이트 쓰로틀링" 노드를 클릭하면 다음과 같은 화면을 보실 수 있습니다.
파일 별 혹은 파일 형식 별 비트 레이트 쓰로틀링 규칙을 설정합니다.
다음 백서들은 이에 대한 더욱 자세한 정보를 제공합니다.
Mike의 포스트(여기)와 Vishal의 포스트(여기와 여기)에서도 더욱 자세한 정보를 제공합니다.
도움이 되길 바라며,
스캇