Как посчитать за сколько скачается файл. Скорость торрента и что на нее влияет

Думаю, что редко кто в Рунете не знает такой замечательный сервис как pr-cy.ru? У кого-то в свое время родилась отличная идея — создать сайт на котором собраны все инструменты, которые могу когда-либо потребоваться web-мастеру. В числе прочих полезных инструментов у pr-cy.ru есть инструмент Проверка скорости интернета . Хорошая вещь. Определяет скорость подключения, причем делает это максимально точно. В целом работа инструмента “Проверка скорости интернета” достаточно проста и одновременно эффективна. И вот, что я подумал: а почему бы не создать что-либо подобное (я имею ввиду сопоставимое по скорости и качеству работы), но только в Delphi? Как это у меня в последнее время повелось — я решил снова поразбираться в библиотеке Synapse — может там что-нибудь есть для решения задачи? Но сначала немного предыстории вопроса.

По сути вопрос “Как измерить скорость Интернета?” я считаю некорректным. Более правильно было бы спросить “Как узнать скорость подключения к ресурсу в Интернет?” или “Как узнать скорость закачки файла?” и т.д. Чтобы понять как используются казалось бы одни и те же величины — килобиты и килобайты при измерении скоростей в Интернет и объемов данных я изучил (и Вам советую) статью от Артемия Лебедева “Сколько байтов в килобайте? “, где достаточно доступно и подробно описываются все различия, например между кбайт и Кбайт и т.д..

Поэтому вначале я решил проверить две величины:
1. Скорость загрузки файла с какого-либо сайта
2. Время ответа сервера (ping)
Определить скорость загрузки можно, например, так: берем файл определенного размера и пробуем его скачать. По времени, затраченному на скачивание определим скорость загрузки данных (входящую) в Кбайт/сек.
Здесь появляется один небольшой вопрос: как измерить время затраченное на операцию. Тут можно рассуждать, экспериментировать вплоть до использования ассемблера и измерения количества тактов ЦП. Я вначале тоже хотел воспользоваться по старинке функцией GetTickCount , но потом решил не повторяться и воспользоваться двумя другими функциями из той же библиотеки kernel32.dll.
Итак вначале о том, как мы измерим время. Нам понадобятся всего две функции:
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.
2. Скачать страницу сайта и по скачанному объему данных судить о скорости. Здесь можно воспользоваться либо функцией HttpGetText из того же модуля, либо задействовать объект THTTPSend.
Дополнительно с помощью Synapse мы можем организовать и пинг сервера, используя модуль pingsend.pas, Реализуем всё вышесказанное на примере.
Создадим новое приложение Delphi и подключем в uses два модуля httpsend и pingsend . Будем определять скорость загрузки и время ответа сервера. Внешний вид программы может быть примерно таким:

И теперь несколько замечаний по поводу работы программы. Для того, чтобы как можно точнее измерять скорость желательно иметь под рукой файл подходящего размера. К примеру, если мне провайдер обещает 14,4 Кбайт/сек на загрузку, то мне желательно качать файлик больше 14 Кбайт. С другой стороны, чем больше файл — тем больше времени будет затрачено на его загрузку и, следовательно, программа будет дольше “висеть”. Я решил ограничиться файлом размером около 800 Кбайт — архивом с , который как раз-таки и лежит у меня в блоге.

Код обработчика onClick кнопки у меня

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

Сайт создан в системе uCoz

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 мегабит в секунду?!!! Что-то не верится, что может быть такая космическая скорость интернета!

нифига себе О_О эт что за Супер-Спутник? ? )))) ну вы попробуйте качать скажем в Опере — он вам сообщит сколько времени потребуется

Скорость закачки непостоянна — закачается за немного времени, где-то в пределах 5-10 минут (я недавно закачал 7,5 Гб за 15 минут, но скорость закачки в торрентс. ру все время менялась).

13 минут 39 секунд. Вообщето в школе на ЕГЭ по информатике это штатная задачка.

за 102 целых 4 десятых секунды

50 мегабит в секунду это скорее всего максимальная обещанная провайдером скорость соединения с сервером (сервер-абонент) , это вполне реально. Если скачивать именно с этого сервера, то скачается примерно за полчаса (точнее 26 мин 40 сек) . Но скорость соединения с инетом гораздо меньше (сервер-инет) , на скачку может уйти более суток.

бл№№ь что ты пишешь не 50 мегабайт а мегабит тут большая разница не может быть 50 мегабайт

touch.otvet.mail.ru