Проверьте скорость сети с помощью PHP / Javascript - PullRequest
6 голосов
/ 28 июля 2011

Я пытаюсь найти способ проверить скорость сети с помощью PHP или Javascript.

Возможно ли это?

В идеале я бы хотел проверить скорость и принять динамическое решение.сколько контента нужно доставить клиенту ...

Я должен отметить, что я в основном говорю о мобильных устройствах.Большинство широкополосных подключений очень мало отличаются, поэтому я стремлюсь оценить, подключен ли кто-либо к сети WiFi или испытывает трудности в сотовой сети передачи данных.

Ответы [ 2 ]

2 голосов
/ 28 июля 2011

Выполните ajax-запрос для загрузки фрагмента данных фиксированного размера и проверьте время до / после, чтобы получить приблизительное представление о скоростях:

var start = new Date();
$.ajax(....);
var end = new Date();

var elapsed = end.getTime() - start.getTime(); // elapsed time in milliseconds.

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

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

Как я понимаю, вы можете использовать JS -> PHP -> JS call и время ответа, но это довольно неточно. Кроме того, вам нужно будет использовать достаточное количество данных (из-за проблем с избыточной пропускной способностью), и вы никогда не получите явного ответа из-за заголовков серверов, которые существуют / не существуют между браузерами. Есть также проблема с поставщиками услуг ( кашель comcast кашель ), где они дают вам скорости 12 Мбит в течение первых нескольких секунд, но потом душат вас до 3 Мбит, так что теперь ваш тест "сказали бы, что они на линии OC, но сам поток теперь будет иметь дефицит данных и будет постоянно буферизироваться.

Лучшее решение - встроить логику в протокол потоковой передачи, который может регулироваться в зависимости от того, сколько / мало данных поступает. Возможно, он начинается с низкого качества полосы пропускания и поднимает планку, когда замечает рост буфера быстрее, чем воспроизводятся данные (именно это делают видео Hulu, YouTube или Amazon).

...