2013-04-08 2 views
2

파일 호스트 설정 (대부분 운동 용)을 고려 중이지만 무료 사용자는 40-50 kb/s 속도 만 가능하고 프리미엄 사용자는 더 빠른 속도로 이동할 수 있습니다.파일 다운로드 속도에 대한 제한 사항은 무엇입니까?

2 개의 개별 서버에 모든 파일을 배치하고 포트 연결 (10Mbit 대 1000Mbit)을 제어하는 ​​것 같지만 미러 하드 디스크 설정이 필요합니다.

거기에있는 모든 파일 호스트와 함께, 나는 더 간단한 해결책이 있어야 할 것입니다.

+0

편집 : 내가 여기서 뭔가를 발견 한 것 같아요 : http://stackoverflow.com/questions/4002106/limit-download-speed-using-php가 작동하는 것 같다 적어도를 (현재 일관성과 테스트 75 kb/s). – user1934039

+0

매우 시원합니다. 나는 그것을 좋아합니다. –

+0

위에서 게시 한 링크와 관련하여 테스트중인 페이지의 맨 아래에있는 스크립트입니다. http://stackoverflow.com/a/12245044/1934039 – user1934039

답변

1

이것은 웹 서버 수준에서 구현 된 것입니다. 이 질문은 아마 당신이 아파치를 사용하는 경우 조절을 구현하는 방법에 대해 다룰 것입니다 : How can I implement rate limiting with Apache? (requests per second)

사용자 당 기준으로 볼 때 PHP에서 이러한 아파치 설정 지시어와 인터페이스 할 수있는 방법이있을 수 있습니다. 1 개의 사용자가 특정 사용자에게 고정되어 있고 높은 스로틀 속도로 두 개의 가상 호스트가 있습니다.

+0

빈 게시물을 원래 게시물에 추가했습니다. – user1934039

0

예를 들어 PHP 사용자 환경에서 대역폭을 직접 제어 할 수 있습니다. bandwidth-throttle/bandwidth-throttle

use bandwidthThrottle\BandwidthThrottle; 

$in = fopen(__DIR__ . "/resources/video.mpg", "r"); 
$out = fopen("php://output", "w"); 

$throttle = new BandwidthThrottle(); 

if ($user->isPremium()) { 
    $throttle->setRate(500, BandwidthThrottle::KIBIBYTES); // 500KiB/s 
} else { 
    $throttle->setRate(50, BandwidthThrottle::KIBIBYTES); // 50KiB/s 
} 

$throttle->throttle($out); 

stream_copy_to_stream($in, $out); 
관련 문제