Использование полосы пропускания при вызове readfile () на другом сервере? - PullRequest
1 голос
/ 17 мая 2011

У меня есть вопрос о том, как серверы взаимодействуют друг с другом и как это занимает полосу пропускания. Я буду использовать пример, чтобы лучше объяснить мой вопрос.

У меня есть два сайта: www.jojoedad.com и resources.jojoedad.com. Каждый сайт находится на отдельном сервере (с разными IP-адресами и на разных машинах). «www | используется главным образом для обработки внешних задач, таких как обслуживание различных веб-страниц.« resources »хранит целую кучу видеофайлов и предназначена для обслуживания только больших видеофайлов.

Предположим, что я правильно его кодирую, чтобы общедоступный доступ был доступен только к "www", а доступ к "ресурсам" - только путем вызова скриптов на "www". Будут ли задействованы большие полосы пропускания "www", если пользователи загружают видео на "ресурсы" через www.jojoedad.com, например:

http://www.jojoedad.com/getVideo.php?filename=myVideo.mp4

и в getVideo.php у меня есть что-то вроде этого:

header("Content-Type..."); // I didn't fill in details for this line
header("Content-disposition..."); // I didn't fill in details for this line
header("COntent-description..."); // I didn't fill in details for this line
readfile("http://resources.jojoedad.com/video_files/{$_GET['filename']}");

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 17 мая 2011

Самое интересное, что при этом будет использоваться дважды пропускная способность на www - один раз для извлечения файла из resources и один раз для отправки данных клиенту - и один раз на resources.Многие центры обработки данных берут меньше (или ничего) за внутренний трафик данных, поэтому это может не иметь большого значения.

Если вы хотите ограничить доступ к resources для www и только с wwwтогда может даже стоить тройной полосы пропускания получить файл из resources до www и затем снова из www в клиент.

2 голосов
/ 17 мая 2011

Да, потому что, как и сейчас, вы делаете это:

  1. www подключается к ресурсам
  2. www загружает видео с ресурсов
  3. www streamsвидео для пользователя

Это означает, что вы удваиваете свою работу.Сценарий, который выводит видеофайлы, должен быть на resources.joedad.com и использовать вызовы вашего заголовка плюс readfile, используя путь к видеофайлу.Примером может быть:

readfile('/home/user/videos/myVideo.mp4)

, поэтому он не должен устанавливать соединение с самим собой.

1 голос
/ 17 мая 2011

Да, он будет использовать пропускную способность, необходимую для видео, один раз на ресурсах и еще раз на www

...