Как посчитать за сколько скачается файл. Скорость торрента и что на нее влияет
Думаю, что редко кто в Рунете не знает такой замечательный сервис как pr-cy.ru? У кого-то в свое время родилась отличная идея — создать сайт на котором собраны все инструменты, которые могу когда-либо потребоваться web-мастеру. В числе прочих полезных инструментов у pr-cy.ru есть инструмент Проверка скорости интернета . Хорошая вещь. Определяет скорость подключения, причем делает это максимально точно. В целом работа инструмента “Проверка скорости интернета” достаточно проста и одновременно эффективна. И вот, что я подумал: а почему бы не создать что-либо подобное (я имею ввиду сопоставимое по скорости и качеству работы), но только в Delphi? Как это у меня в последнее время повелось — я решил снова поразбираться в библиотеке Synapse — может там что-нибудь есть для решения задачи? Но сначала немного предыстории вопроса.
По сути вопрос “Как измерить скорость Интернета?” я считаю некорректным. Более правильно было бы спросить “Как узнать скорость подключения к ресурсу в Интернет?” или “Как узнать скорость закачки файла?” и т.д. Чтобы понять как используются казалось бы одни и те же величины — килобиты и килобайты при измерении скоростей в Интернет и объемов данных я изучил (и Вам советую) статью от Артемия Лебедева “Сколько байтов в килобайте? “, где достаточно доступно и подробно описываются все различия, например между кбайт и Кбайт и т.д..
1. Скорость загрузки файла с какого-либо сайта
2. Время ответа сервера (ping)
Определить скорость загрузки можно, например, так: берем файл определенного размера и пробуем его скачать. По времени, затраченному на скачивание определим скорость загрузки данных (входящую) в Кбайт/сек.
Итак вначале о том, как мы измерим время. Нам понадобятся всего две функции:
QueryPerformanceCounter — возвращает текущее значение счетчика с высоким разрешением производительности
QueryPerformanceFrequency — возвращает частоту счётчика count/sec.
То есть для того, чтобы измерить время какой-либо операции, а в нашем случае — это время загрузки файла, нам надо будет сделать так:
var iCounterPerSec: TLargeInteger; T1, T2: TLargeInteger; //значение счётчика ДО и ПОСЛЕ операции begin QueryPerformanceFrequency(iCounterPerSec) ; QueryPerformanceCounter(T1) ; {тут скачиваем файл} QueryPerformanceCounter(T2) ; ShowMessage(FormatFloat («0.0000″ , (T2 — T1) / iCounterPerSec) + » сек.» ) ;
Теперь рассмотрим следующий шаг — загрузку файла. Используя Synapse можно пойти двумя простыми путями:
1. Загружать определенный файл, который лежит всё время на одном месте. Для этого можно использовать функцию из модуля httpsend.pas HttpGetBinary.
Дополнительно с помощью Synapse мы можем организовать и пинг сервера, используя модуль pingsend.pas, Реализуем всё вышесказанное на примере.
Создадим новое приложение Delphi и подключем в uses два модуля httpsend и pingsend . Будем определять скорость загрузки и время ответа сервера. Внешний вид программы может быть примерно таким:
И теперь несколько замечаний по поводу работы программы. Для того, чтобы как можно точнее измерять скорость желательно иметь под рукой файл подходящего размера. К примеру, если мне провайдер обещает 14,4 Кбайт/сек на загрузку, то мне желательно качать файлик больше 14 Кбайт. С другой стороны, чем больше файл — тем больше времени будет затрачено на его загрузку и, следовательно, программа будет дольше “висеть”. Я решил ограничиться файлом размером около 800 Кбайт — архивом с , который как раз-таки и лежит у меня в блоге.
offlink.ru
Как рассчитать скорость скачивания 🚩 как рассчитать скорость интернета 🚩 Подключение
Инструкция
Многие менеджеры закачек созданы с учетом запросов пользователей, поэтому показывают как уже затраченное на скачивание, так и примерное оставшееся время. Например, именно так ведут себя программы, предназначенные для скачивания файлов с торрентов. В дополнение ко времени указывается и процент загрузки файла, что позволяет достаточно точно оценивать оставшееся время скачивания.
В том случае, если вы скачиваете файл без использования специализированного софта, время загрузки можно определить, зная размер файла и скорость скачивания. Например, если размер файла 100 мегабайт, а скорость скачивания равна 50 килобайтам в секунду, то время будет равно: 1024×100/50 = 2048 секунд или чуть больше 34 минут.
Помните о том, что скорость интернета и реальная скорость скачивания – это разные вещи. Например, скорость вашего подключения равна 100 мегабитам. Так как в байте 8 бит, то 100 мегабит = 12,5 мегабайт в секунду. Это значит, что файл размером 125 мегабайт вы должны скачать за 10 секунд. Но реальная скорость скачивания файлов обычно равна 50-150 килобайтам в секунду. На нее влияет множество факторов, в том числе и загруженность канала сервера, с которого вы скачиваете файл. Поэтому смотрите реальную скорость скачивания и уже по ней высчитывайте время загрузки файла.
При скачивании больших файлов и недостаточно качественном интернете обязательно используйте менеджер закачек, например, FlashGet. Подобные программы не только помогают контролировать скорость закачки и оставшееся время, но и позволяют докачивать файл при обрыве связи. Учитывайте то, что время скачивания всегда является приблизительным и зависит от изменения скорости закачки.
В некоторых случаях для ускорения скачивания можно воспользоваться качественным прокси-сервером. Имея хороший канал, он быстро скачает нужный файл и передаст его вам. В итоге скачивание займет меньше времени, чем без использования прокси. Этот способ полезен в том случае, если у вас медленное соединение.
www.kakprosto.ru
lab14 / Калькулятор
lab14 / Калькулятор
| |||||||||||||||
[Главная] © lab,14, 2009-2012 |
lab14.narod.ru
за сколько времени скачается файл 5 ГБ при скорости 50 мегабит в секунду? если учитывать что нету ограничений на сервере
Расчет примерно такой 5 гиг это 5 * 1073741824= 5368709120 байт или (умножить на 8) 42949672960 бит 50 мбит/сек = 50*1024*1024= 52428800 бит/сек Далее пропорция 52428800 бит за одну секунду —————= ———————— 42949672960 бит за х секунд x= 819 секунд = 13 минут 40 секунд Но этот расчет не учитывает избыточность (и заголовки пакетов) протокол а передачи. Накладные расходы, если например, используется FTP, ээээээ…. ненаврать бы а справочники смотреть лень составляют грубо-примерно порядка 60 бит на каждые 1500 бит. Итак олтвет такой — 5 гиг перекачаются за время ПРЕВЫШАЮЩЕЕ 13 мин. 40 сек. или САМИ вводите поправочку на заголовки пакетов (она, кстати, разная может быть и зависит от используемого протокола) . Если хотите еще точнее, то нужно учесть время задержки в маршрутизирующем оборудовании, скорость света и плеск бегемотов в Лимпопо 🙂
50 мегабит в секунду?!!! Что-то не верится, что может быть такая космическая скорость интернета!
13 минут 39 секунд. Вообщето в школе на ЕГЭ по информатике это штатная задачка.
за 102 целых 4 десятых секунды
50 мегабит в секунду это скорее всего максимальная обещанная провайдером скорость соединения с сервером (сервер-абонент) , это вполне реально. Если скачивать именно с этого сервера, то скачается примерно за полчаса (точнее 26 мин 40 сек) . Но скорость соединения с инетом гораздо меньше (сервер-инет) , на скачку может уйти более суток.
бл№№ь что ты пишешь не 50 мегабайт а мегабит тут большая разница не может быть 50 мегабайт
touch.otvet.mail.ru