Думаю каждый пользователь Интернета хоть раз в жизни измерял скорость своего канала Internet. Способов измерения есть довольно много...
Например, вот здесь [1] находится один из тестов скорости соединения, позволяющий измерить скорость download/upload от Вас до множества точек по всему миру. Да, согласен, погрешность иногда он дает неплохую (именно из-за этого пользуюсь другими методами)... Спишем это на известность сервиса, и на загруженость маршрутизаторов.
Но мало кто знает, что похожий сервис можно разместить у себя на сервере. Условия - работающий веб-сервер с поддержкой PHP. Что ж... Нужно проверить как это работает.
Создадим рабочий каталог и выставим необходимые права:
# mkdir /usr/local/www/speedtest |
1. Скачиваем архив теста с сайта.
Дистрибутив можно загрузить на странице проекта: http://speedtest.net/mini.php [2]. Кстати, здесь же присутствует краткая инструкция по установке и настройке
# wget http://c.speedtest.net/mini/mini.zip [3]
--2011-12-04 16:21:41-- http://c.speedtest.net/mini/mini.zip [3] Распознаётся c.speedtest.net... 93.184.221.133 Устанавливается соединение с c.speedtest.net|93.184.221.133|:80... соединение установлено. Запрос HTTP послан, ожидается ответ... 200 OK Длина: 98993097 (94M) [application/zip] Сохраняется в каталог: `mini.zip'. 100%[===================================================>] 98 993 097 716K/s в 2m 24s
2011-12-04 16:24:06 (672 KB/s) - `mini.zip' сохранён [98993097/98993097]
|
2. Распаковываем архив. В нашем случае это zip-файл. Поэтому используем утилиту unzip. Если у Вас она не установлена, то установить ее можно из портов (/usr/ports/archivers/unzip).
# unzip mini.zip Archive: mini.zip inflating: crossdomain.xml inflating: index-asp.html inflating: index-aspx.html inflating: index-php.html creating: speedtest/ inflating: speedtest/random2000x2000.jpg inflating: speedtest/upload.asp inflating: speedtest/random500x500.jpg inflating: speedtest/upload.aspx inflating: speedtest/upload.php inflating: speedtest/random1000x1000.jpg inflating: speedtest/swfobject.js inflating: speedtest/random750x750.jpg inflating: speedtest/random350x350.jpg extracting: speedtest/latency.txt inflating: speedtest/random1500x1500.jpg inflating: speedtest.swf inflating: troubleshooting.txt inflating: speedtest/random4000x4000.jpg inflating: speedtest/random2500x2500.jpg inflating: speedtest/random3500x3500.jpg inflating: speedtest/random3000x3000.jpg |
3. Необходимо переименовать index-php.html в index.html (кстати, исходя из предложеных расширений, поддерживаются также asp/asp.net)
# mv index-php.html index.html |
4. "Поправим" конфигурационный файл Apache. Добавим в в /usr/local/etc/apache22/httpd.conf (в секцию alias_module) такие строки:
Alias /speedtest "/usr/local/www/speedtest" <Directory "/usr/local/www/speedtest"> DirectoryIndex index.html AllowOverride None Order allow,deny Allow from all </Directory> |
Проверяем, не допустили ли мы ошибок при редактировании и перезапускаем Apache:
# apachectl configtest Syntax OK # apachectl graceful |
Результат этих действий можно просмотреть здесь [4] (необходима поддержка Flash в браузере), как раз и скорость можно протестировать