среда, 12 сентября 2018 г.

Измерение скорости локальной сети. Speedtest в ЛВС

  Понадобилось мне сделать сервис для измерения реальной скорости в ЛВС. Хотелось в стиле Speedtest. Заходишь на www-страничку и она меряет скорость между ней и тем компом, с которого зашел я.
  Поначалу думал поднять тот же Speedtest но в локальной сети. Раньше у них был Speedtest Mini. Но сейчас его уже нет. Чего-то нового на сайте спидтеста не нашел. Пришлось искать другое.
  Набрел на HTML5 SpeedTest. Измеряет download, upload, ping и jitter. Flashplayer не требует.
  Требования:
  1. Поддержка браузером HTML5
  2. WWW-сервер с поддержкой php
  3. WWW-сервер должен поддерживать POST-запросы до 20МБ.
  На Линукс установил apache и php.
apt-get install apache2 apache2-utils apachetop php
  В папке/etc/php/* во всех файлах php.ini увеличил максимальный размер POST-запроса.
post_max_size = 20M
  Скачать zip-архив HTML5 speedtest. распаковал его в папку /var/www/speedtest-master. Создал файл /etc/apache2/sites-available/speedtest-master,conf и записал в него:

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/speedtest-master
        ErrorLog ${APACHE_LOG_DIR}/speedtest-master.error.log
        CustomLog ${APACHE_LOG_DIR}/speedtest-master.access.log combined
  Единственно важный параметр здесь это DocumentRoot, который должен указывать на папку из предыдущего пункта.
  Разрешил сайт командой
a2ensite speedtest-master.conf
  И перегрузить апач
systemctl restart apache2
  Выбрать внешний вид странички. Зайти в /etc/www/speedtest-master. Тут лежат несколько файлов example*.html. Так как в этот момент сайт уже работает, то можно быстро их просмотреть прямо в браузере, зайдя на http:///example-basic.html, http:///example-chart.html. Лично мне понравились странички example-gauges.html и example-progressBar.html Понравившуюся страничку просто скопировать рядом в index.html
root@debian:/var/www/speedtest-master# cp example-progressBar.html index.html
  Все заработало.
  При испытаниях на нескольких компах, отделенных от сервера одним коммутатором скорость даунлоада была 150-700 Мбит.сек, а аплоада 400-900Мбит.сек. Так что сервер быстренький.
  Также в нем есть возможность результаты каждого испытания кидать в SQL базу, но я этой возможностью не пользовался