ФорумПрограммированиеPHP для идиотов → Определить скорость скачивания файла с пом. php

Определить скорость скачивания файла с пом. php

  • leksus

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 5 октября 2011 г. 21:49

    Есть несколько VPSов, надо между ними динамически распределять нагрузку по скачиванию файлов. Где скорость падает - менять ссылки на сайте на скачивание файлов на другой VPS, с большей скоростью.

    Все это уже есть, осталось написать нечто вроде мониторинга, чтоб каждые пол часа сервер мониторинга (подразумевается, что у него канал всегда широкий) опрашивал все VPSы, скачивая некий тестовый файл заданного размера и таким образом определяя скорость скачивания. Так как я из всех языков программирования знаю только PHP, да и то на 3+, то необходимо это все дело реализовать на php.

    Прокатит, если тупо качнуть через сокеты, перед и после замерив секунды, а потом вычислив разницу? Может, качнуть раз 10, а потом среднеарифметиическое вычислить? Но тогда как быть с кэшами - их по пути куча всяких, дисковые, операционные, вдруг прокся какая у хостера еще кэширует. Определять скорость надо где-то раз в полчаса.

    У кого может похожая задачка была, или мысли есть?

    Заранее спасибо за ответ :)
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 5 октября 2011 г. 22:30, спустя 41 минуту 39 секунд


    Так как я из всех языков программирования знаю только PHP, да и то на 3+, то необходимо это все дело реализовать на php.
    ты наркоман.
    не страдай хуйней.
  • leksus

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 5 октября 2011 г. 23:32, спустя 1 час 2 минуты 13 секунд

    не страдай хуйней.

    Я всю жизнь этим страдаю, мне по кайфу :) Так а по существу?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 6 октября 2011 г. 0:05, спустя 32 минуты 40 секунд


    Так а по существу?
    это не задача пхп.
    не страдай хуйней.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 6 октября 2011 г. 0:10, спустя 5 минут 19 секунд

    leksus, это не твоя задача, лучше подрочи
    Сапожник без сапог
  • leksus

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 6 октября 2011 г. 0:29, спустя 18 минут 51 секунду

    Я седня уже дважды дрочил, утром и после обеда. Уже не встает.

    Мне этот таск решить нада, еще кто-нить выскажется? :)
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 6 октября 2011 г. 1:09, спустя 39 минут 49 секунд

    Сисадмин на php это жестоко. Пускай тебя уволят и это будет справедливо. Сисадмина без знаний перла элементарных и понимания устройства сетей на выстрел пули не подпускать к сервакам!
  • leksus

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 6 октября 2011 г. 1:17, спустя 7 минут 42 секунды

    Мля, ребята, хватит хуйню нести :) У меня трафа 4 терабайта в сутки, честный канал стоит денег, а халявного трафа можно насобирать юзая кучу мелких ВПСов. Но тут гемор появляется - раскидывать все файлы и следить за нагрузкой. Проще чтоб само распределялось.

    Я ни разу не сисадмин и я уже давно работаю на себя.

    Пофигу, что на php будет через жопу, мне тупо тенденцию словить нада - что, дескать, этот сервак отдает 50кбит, а другой все 10мбит, - этих данных достаточно.
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 6 октября 2011 г. 2:59, спустя 1 час 42 минуты 20 секунд

    Я седня уже дважды дрочил, утром и после обеда. Уже не встает.

    сочувствую
    Спустя 91 сек.
    почитал тему. бредово
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 6 октября 2011 г. 8:43, спустя 5 часов 44 минуты 8 секунд

    качнуть раз 10, а потом среднеарифметиическое вычислить

    Спустя 31 сек.
    на самом деле если файл лежит в 10 копиях на 10 серверах - то это печально
    не всё полезно, что в swap полезло
  • leksus

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 6 октября 2011 г. 10:46, спустя 2 часа 2 минуты 49 секунд

    Ну хорошо, давайте я сам начну себе отвечать, а то тут скучто что-то стало.

    <?
    function getmicrotime() {
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
    }
    $start = getmicrotime();
    $file = file_get_contents("http://my.co.ol.vps/1024.kb");
    $end = getmicrotime();
    $speed = 1024/($end - $start);
    echo $speed." Kbyte/sec";
    ?>


    Вот так вот если тупо зафигачить, получим некую скорость, которая при рефреше не меняется более чем на 10-20%. Проверил для разных серверов - скорость для них различаеца. По всем признакам это то, что мне нада. Что я делаю не так?
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 6 октября 2011 г. 10:55, спустя 9 минут 9 секунд

    Что я делаю не так?

    Что ты делаешь не так?
    не всё полезно, что в swap полезло
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 6 октября 2011 г. 10:58, спустя 2 минуты 33 секунды

    function getmicrotime() {
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
    }

    xDDDDDDDDDDDDDDDDDDDDDD

    долбаный школокод нтернетов xDDDDDDDDDD
    Сапожник без сапог
  • leksus

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 6 октября 2011 г. 11:13, спустя 14 минут 51 секунду

    Ладно, идите дрочите :) спасибо за помощь!
  • leksus

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 6 октября 2011 г. 16:53, спустя 5 часов 40 минут 21 секунду

    Кстати, кто вдруг пришел по поиску и наткнулся на этот вопрос и кучу отвечающих неадекватов, вот линка с ответом:
    http://cowburn.info/2008/11/29/download-speed-php-curl/

Пожалуйста, авторизуйтесь, чтобы написать комментарий!