Ivanovo Linux Users Group -  
Форум Помощь Поиск Вход
Предыдущая Следующая Вверх Тема Программирование / Прикладное / speed test (55322 хитов)
- Написал(а) Bercut Дата 07.12.11 08:11
А вот какую мне загадку заганули...
Надо реализовать функционал тестера скорости соединения в отдельно взятой совецкой семье.
То есть разместить на площадке некую софтину которая при открытии в браузере пользователя скажет ему что так мол и так, скорость у нас с тобой такая-то, в обе стороны, айпишнег такой-то вижу мол, ну и там по мелочи...
Вопрос кто что подобное делал, какие результаты, и где найти софтину?
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - Написал(а) hawk Дата 08.12.11 10:07 Отредактировано 08.12.11 10:15
Делал на своих скриптах, веб форма, стандартные не подходят т.к. им то флеш то яву давай (а порой только консоль), мерял до дедикатед сервера 100Мбит на порту, есть еще Iperf

P.s. если на своих делать, то не обязательно иметь выделенный сервант на другом конце, есть ресурсы предоставляющие тестовые файло на закачку, вбивай download test file

.. примеры скриптов для определения IP http://ipgeobase.ru/cgi-bin/Software.cgi
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) Bercut Дата 08.12.11 10:59 Отредактировано 08.12.11 11:02
да вот как раз и нужно с веб морды скорость мерить
а серваков выделенных под это дело как грязи, виртуальных правда но крутецких
так что надо что нибудь готовенькое хоть с жавой хоть с флэшом, но чтобы допиливать минимально

зы про iperf то вестимо, тока это не для низко квалифицированных, коими и являются пользователи данного проекта... (у них пинг то с десятого раза получается заслать, какой тут нахрен айперф)
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - Написал(а) hawk Дата 08.12.11 11:11
Пинговалку тоже писал через WEB форму :-) там не сложно, все на пыхе, формочка и минимум кода.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) Bercut Дата 08.12.11 11:16
не пингаловка не прокатит
да и не нужна она
клиентов то я и сам попингую не хреново,
а вот чтобы конал померить тут нужно так скакать полное непротивление сторон
и при это голимая простота исполнения - большая сука зеленая сука кнопка мать её
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - Написал(а) hawk Дата 08.12.11 11:26 Отредактировано 08.12.11 11:43
В общем не жалко, на суд так сказать :-)
# ls -la
-rw-r--r--   1 www   www    2183 31 июл 18:39 index.php - индекс
-rw-r--r--   1 www   www     139  8 дек 09:01 speedtest.out - временный с измерениями
-rw-r--r--   1 www   www     962 29 июл 13:52 speedtest.php - читаю временный файл speedtest.out, результаты на WEB стр
-rwxr--r--   1 www   www    1223 29 июл 11:32 speedtest.sh - сам скрипт

index.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
        <title>SPEEDTEST</title>
    </head>
    <body>
        <h2>Тест скорости Интернет соединения (Бета)</h2>
        <p>
                Тест делает то и то и это (для юзерей, чтобы не боялись).
        </p>
 
        <form method="post" action="./speedtest.php">
        <input type="submit" name="sabmit" value="Начать тест">
        </form>
     
        </body>
</html>

speedtest.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
<title>SPEEDTEST</title>
</head>
<body>

<?php

exec("./speedtest.sh 300");

$fp=fopen("speedtest.out", "r");
if ($fp)
{
    while (!feof($fp))
    {
    $mytext = fgets($fp, 999);
    echo $mytext."<br />";
    }
}
else echo "Ошибка при открытии файла";
fclose($fp);

echo "<a href=\"./index.php\">Повторить тест.</a><br />";

?>
</body>
</html>

speedtest.sh #!/usr/local/bin/bash - потому как под Фрёй
#!/usr/local/bin/bash

PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

&>./test.$$ time wget 'http://URL/test.file' -O /dev/null 2>&1;
cat ./test.$$ |awk 'NR == 5{print $2}' >./size.$$;
cat ./test.$$ |sed '$!d' |awk '{print $1}' |sed 's/,/./g' >./time.$$;
x=`cat ./size.$$`;
y=`cat ./time.$$`;
date > speedtest.out;
i=$( echo "($x/1024)/1024" | bc );
echo "Размер файла: $i" Мбайт >> speedtest.out;
echo "Время скачивания: $y" сек >> speedtest.out;
a=$( echo "scale=2; ($x/$y)/1024" | bc -l );
b=$( echo "scale=2; $a/1024" | bc -l );
c=$( echo "scale=2; $a*8" | bc -l );
d=$( echo "scale=2; $b*8" | bc -l );

if [ $b -le 1 ]
    then
        echo "Скорость: $a Кбайт/с -> $c Кбит/с или $d Мбит/с" >> speedtest.out;
    else
        echo "Скорость: $a Кбайт/с -> $c Кбит/с или $d Мбит/с" >> speedtest.out;
fi
rm -f ./test.*;
rm -f ./size.*;
rm -f ./time.*;

speedtest.out то что печатается юзерам в веб стр
Thu Dec  8 09:01:58 MSK 2011
Размер файла: 5 Мбайт
Время скачивания: 4.06 сек
Скорость: 1261.08 Кбайт/с -> 10088.64 Кбит/с или 9.84 Мбит/с


Соответственно, если под рукой только консоль, то тык в  speedtest.sh и less speedtest.out :-)

P.S. "Размер файла: 5 Мбайт" -> http://URL/test.file -> test.file - создаешь с помощью dd размером 5Мб и кидаешь куды нить, где канал широкий и хороший, ну или заюзываешь тестовые, линк выше.
На Upload делай скрипт по аналогии, только грузишь на сервер, мне это не нужно было. Нужно определять IP думай с ipgeobase :-)
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) Bercut Дата 08.12.11 11:40
что то я механизма не понял
поясни
куда и он куда файлик качается
и соответственно между чем и где конал меряется
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - Написал(а) hawk Дата 08.12.11 11:41
sh скрипт лежит на серваке в локалке у меня на локальном хостинге так сказать, тянет файло с уд. сервера с хорошим и толстым каналом - это получается download
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) Bercut Дата 08.12.11 11:43 Отредактировано 08.12.11 11:46
а не
это не прокатит
задача иная

надо чтобы клиентос имея веб онли мог протестить конал до меня (до сервака, где я рядом, с коего сервака он, клиент, услугу имеет)
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - Написал(а) hawk Дата 08.12.11 11:43
Для Upload аналогично. Не прокатит по каким причинам? Чтобы что-то померить надо что-то залить-отдать.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent - Написал(а) Bercut Дата 08.12.11 11:48
а как тут с аплоадом сделать
и куда аплоад будет
чето я не соображу сразу так
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - Написал(а) hawk Дата 08.12.11 12:07
Upload на сервер в инет мы же скорость инета мерим. Залей scp или еще каким нить способом, можно проверить и сравнить разные способы scp, sftp, ftp, php тот же, можно делать несколько измерений и выводить среднее, размер файла - время на аплоад будет.
echo "good..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'
Parent Написал(а) Bercut Дата 08.12.11 14:01
ну про интернет я ни слова не писал
сеть ведомсвенная
если качать чего то только по 80 порту, чтоб без палева
никакой софт само собой на клиента ставить не стоит, кроме того- же флэша
а ява там по технологии есть
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - Написал(а) Bercut Дата 09.12.11 09:47
в общем остановился я на продухте
Broadband Speed Test
это если че так
работает сносно только пиз... звездит немного проценов на 15-20 но ето и не критично
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - Написал(а) mcdebugger Дата 27.03.12 11:50
Если не самописные, то в таком случае можно как вариант попробовать Speedtest.net Mini: http://www.speedtest.net/mini.php
Из минусов: периодически нужно обновлять, иначе отказывается работать.
Пример работы: http://youlike.speedtest.rc0.ru/ , http://speedtest.duganet.ru/
Parent Написал(а) Bercut Дата 27.03.12 12:51
у меня не заработала
постоянно хотела в инет
домой позвонить или че там
вощем не срослось
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Предыдущая Следующая Вверх Тема Программирование / Прикладное / speed test (55322 хитов)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.084s with 11 database queries.