Apache 2.2(windows)에는 기본 대역폭 제한이 있습니까?

Apache 2.2(windows)에는 기본 대역폭 제한이 있습니까?

저는 클라우드 서버(VMware의 Windows Server 2008 R2, BW 1Gbps http://95.110.164.61)에서 Apache를 실행하고 있습니다. 저는 포트 640xx에서 VLC에 의해 생성된 루프 내 사전 압축(플래시 아님)된 후 포트 80에서 Apache에 의해 역방향 프록시된 많은 라이브 DVB MPEG 전송 스트림을 스트리밍하고 있습니다.

서버의 방화벽은 모든 포트에서 VLC 및 Apache에 대해 열려 있습니다.

1.5Mbps 이상에서는 지속적인 Stop & Go로 인해 재생이 영향을 받습니다. VLC에서 생성된 스트림을 직접 요청하면 http://95.110.164.61:64087/mpg2_6.4올바른 스트림이 표시되지만 요청하면 http://95.110.164.61/mpg2_6.4그렇지 않습니다.

Flash 스트리밍 서버는 Apache를 사용하여 포트 80에서 스트리밍한다는 것을 알고 있습니다(그리고 작동합니다). 저는 Apache 전문가가 아닙니다. 대역폭을 늘리기 위해 "특수" 모듈이 필요한지 누가 말해 줄 수 있습니까?

답변1

Apache에는 기본적으로 속도 제한이나 대역폭 제한이 없습니다. 실제로 외부 모듈만이 이 기능을 제공하므로 이를 활성화하려면 특별한 노력을 기울여야 했습니다.

기본적으로 Apache는 가능한 한 많은 대역폭을 사용합니다.

답변2

아직도 Igino Manfre'가 글을 쓰고 있습니다(저는 아파치 뉴비라는 점을 잊지 마세요).

대역폭 제한으로 설명해서는 안 되지만 최종 결과는 동일합니다. Apache가 올바르게 구성되지 않으면 웹을 통해 충분한 정보를 푸시할 수 없습니다.

Windows에서의 이 활동은 어떤 경우든 구성이 필요한 Apache 멀티스레딩 모듈(Windows에서만 사용 가능하며 공식적으로는 다중 처리 모듈이라고 하지만 흔히 "작업자"라고 함)에 의해 수행됩니다. Apache가 창에서 실행되면 두 개의 프로세스 "httpd"만 발견됩니다. 하나는 다른 하나의 하위 프로세스입니다. 자식 프로세스는 연결을 통해 필요한 모든 스레드를 활성화합니다. Apache 문서에서 extra\httpd-mpm.conf에서 복사하여 httpd.conf에 붙여넣을 수 있는 모든 OS에 특정한 섹션이 필요하다는 것을 발견했습니다. Windows 기본 섹션에는 멀티스레딩을 관리하기 위한 "IfModule mpm_winnt_module" 레이블 내에 두 줄만 포함되어 있습니다.

ThreadsPerChild: 서버 프로세스의 작업자 스레드의 상수 수(150으로 설정)

MaxRequestsPerChild: 서버 프로세스가 처리하는 최대 요청 수(0으로 설정, 자동)

그러나 이 경우에는 소프트웨어 효율성(스레딩)의 문제가 아니라 네트워크 버퍼링의 문제일 가능성이 높습니다. 나는 Apache의 거대한 문서에서 SendBufferSize 매개변수(httpd.conf에 추가될)의 존재를 발견했습니다. 이는 일반 ADSL 홈 연결에서처럼 RTT가 100ms 이상인 높은 대기 시간 연결을 보상하는 데 유용한 TCP 전송 버퍼 크기를 늘립니다. 기본적으로 또는 가 0인 경우 서버는 OS 기본값을 사용합니다.

SendBufferSize 1000000

나는 그것을 큰 숫자로 들릴 수 있는 1000000(1MB)으로 설정하기로 결정했지만 이렇게 높은 값이 사용되는 것을 보았습니다.

잘 작동합니다! VLC 플레이어로 스트림을 열면 이제 Apache는 VLC에서와 마찬가지로 6.4Mbps를 스트리밍합니다. 이는 병목 현상이 제거되었음을 의미합니다. 과학적인 방법으로 이 매개변수에 주석을 달면 스트리밍이 다시 중지되고 진행되는 문제를 테스트했습니다.

어떤 경우든 스트림을 올바르게 보려면 해당 스트림을 재생하는 데 필요한 것보다 충분히 큰 연결 대역폭(예: 최소 30%)이 필요하므로 6.4Mbps를 보려면 최소 8Mbps가 필요합니다.

이 대사가 다른 누군가에게 도움이 되기를 바랍니다.

또 다른 주의 사항: 웹 페이지에 비디오를 소개하고 VLC 플러그인을 사용하려는 경우 VLC 플러그인 네트워크 캐시 매개변수도 구성해야 합니다. 그렇지 않으면 재생이 여전히 중지 및 이동의 영향을 받습니다. VLC 플레이어에서 기본적으로 설정된 network-cache=1000(msec)을 수정하면 충분할 것 같습니다. 늘 그렇듯이 문서만으로는 충분하지 않습니다.

안녕, 이기노

관련 정보