Можно ли точно определить скорость загрузки пользователя на лету? - PullRequest
2 голосов
/ 27 июля 2011

Вот моя идея:

Иметь крошечный автономный файл JavaScript, который будет запускаться после полной загрузки страницы.Сценарий запустит таймер, загрузит файл известного размера (скажем, ровно 10 КБ текста), а затем остановит таймер.

Если таймер определит, что загрузка файла занимает ровно 1 секунду,Означает ли это, что пользователь имеет в своем распоряжении только 80 килобит в секунду ниже по потоку?Или, скорее, это означает, что они будут последовательно занимать 1 секунду, чтобы загрузить 80 килобит с моего сервера, будь то изображение, текстовый файл, музыкальный файл и т. Д .?

Ответы [ 2 ]

1 голос
/ 27 июля 2011

Здесь много чего происходит.Во-первых, при загрузке файла вы должны выполнять контент с задержкой (количество времени, которое требуется первому загруженному биту для перемещения по линии), а также с полосой пропускания (объемом данных, который умещается в проводе).Вы также должны согласиться с тем фактом, что конкуренция и / или маршрутизация существенно различаются, и, поскольку такие измерения будут время от времени меняться - возможно, значительно - *. 1001 *

Если вы хотите достойного измерения, вам потребуетсяпопробуйте файлы нескольких разных размеров (10 КБ, 100 КБ, 1000 КБ, 10000 КБ и т. д.) по несколько раз каждый.С этими данными (особенно если они измеряются в разное время) вы сможете оценить «скорость загрузки», пытаясь оценить задержку (не зависящую от размера загрузки), с учетом этого и проанализировав оставшееся время (длялучшие, худшие или средние случаи).

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

0 голосов
/ 27 июля 2011

Скорость загрузки клиентов может сильно колебаться, поэтому пример из одной секунды мало о чем вам скажет.Он скажет вам их среднюю скорость загрузки (с вашего сервера) в течение этой одной секунды, но их скорость загрузки в следующую секунду может быть в 10 раз быстрее или в 5 раз медленнее.Они могут одновременно загружать и другие вещи, которые могут повлиять на ваши результаты.

Если вы хотите сделать это, имейте в виду, что вы не можете начать синхронизировать их, пока ваш сервер не получит запрос на файл,В противном случае вы также включаете время их загрузки для запроса файла.Также имейте в виду, что заголовки вашего файла занимают место, поэтому вы должны выяснить, насколько велики заголовки при создании файла.

...