скорость между фтп сервером и юзером с помощью РНР

FedY@

Новичок
скорость между фтп сервером и юзером с помощью РНР

скорость между фтп сервером и юзером с помощью РНР

мне нужно вычеслить скорость между сервером и юзером.. и узнать какая скорость между ними в Кбит/сек
какие функции исп. и как это организовано?
 

Vallar_ultra

Любитель выпить :)
эээ, в качестве вариант: отдавай на сервак после установки соединения пакет фиксированного размера и считай время за какое эта операция завершиться.... думаю зная это высчитать скорость не составит особых проблем. :)

Это в случае если юзером FTP выступает PHP.
В случае если он прослойка - то тут хитрее.... :)
 

FedY@

Новичок
нет должно быть вот так ЮЗЕР<-PHP<-FTP

и скорость определить именно между Юзером например 127.0.0.2 и ФТП 127.0.0.1

-~{}~ 17.12.06 20:25:

и кстате, мне нужно просто протестить так два сервака и дать ссылку на самый быстрый сервер...

-~{}~ 17.12.06 20:26:

и скорость не Upload, а Download
 

Vallar_ultra

Любитель выпить :)
8-0 Тогда я думаю только вычисляешь скорость PHP<-FTP1, потом PHP<-FTP2 и отдавать ссылку на тот где скорость больше а нагрузка на нём соответственно меньше..... других вариантов я как-то не вижу.... Посмотреть скорость на прямом соединении browser<->ftp со стороны php у тебя не получиться - это системная информация.

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

FedY@

Новичок
ну так можно проверить скорость между рнр и фтп?

-~{}~ 17.12.06 21:43:

это конечно не совсем подходит... но попробуем...=)
 

Vallar_ultra

Любитель выпить :)
2FedY@
Автор оригинала: Vallar_ultra
отдавай на сервак после установки соединения пакет фиксированного размера и считай время за какое эта операция завершиться.... думаю зная это высчитать скорость не составит особых проблем.
Тебе концепция нужна или готовый код?
 

RigVan

Постоянный член клуба
FedY@

Елки, а скрипт-то нафига для твоей задачи? Команда "ping" тебе все покажет... хоть в Lin хоть в Win...
 

Vallar_ultra

Любитель выпить :)
2FedY@
Концепция довольно простая, попробую объяснить ещё раз:

1) Устанавливаешь соединение с FTP-сервером посредством РНР.
2) Кладешь туда тестовый пакет если его там нету (на FTP)
3) Открываешь считалку времени (HELP: http://ru2.php.net/manual/ru/function.microtime.php)
4) запрашиваешь у сервера тестовый пакет.
5) Останавливаешь считалку. (результатом станет кол-во микросекунд за которые прошла скачка файла с сервака)
6) размер пакета делишь на время и получаешь искомую скорость.

http://ru2.php.net/manual/ru/ref.ftp.php - это как работать с фтп
http://ru2.php.net/manual/ru/ref.network.php - это как работать с сетью

Думаю этой информации вполне достаточно для того чтоб ты сам всё прекрасно написал :))

-~{}~ 17.12.06 22:02:

2RigVan
Ага, тока вопервых скорость соединения FTP и скорость ответа ICMP - это не одинаковые величины, это раз. И не факт что на хосте разрешены exec() и system()
 

RigVan

Постоянный член клуба
Vallar_ultra

Замечание верное, но если пояснение запроса от FedY@, а именно:
"и кстате, мне нужно просто протестить так два сервака и дать ссылку на самый быстрый сервер..."
отражает суть его проблемы, то лишних движений можно избежать :)
 

Vallar_ultra

Любитель выпить :)
2RigVan
Ну вобщем это да, но если человек за одно научиться работать с ФТП-шными функциями и поймет, пусть даже приблизительно, принцип решения смежных с этой задач - то я считаю это уже большим достижением. :)
 

RigVan

Постоянный член клуба
Vallar_ultra

И ты туда же :) Мало тут что-ли на форуме "учителей", которых хлебом не корми дай поучить кого-нибудь... Давайте уж просто научимся отвечать на те вопросы, что задают, без разного рода нравоучений... Пусть этим вещами всякие Фанаты занимаются, раз без этого им никуда... (ИМХО, конечно ни кого не хчу обидеть...)
 

Vallar_ultra

Любитель выпить :)
2RigVan

В данном случае видно 1) Человек явно не полный ламер, а соответственно думать умеет
2) Задача не трудная, и времени у него уйдёт на это не сильно больше чем пингануть сервер и разобрать через RegExp ответ. Зато завтра он проснёться и больше не будет задавать вопросов о вычислении скорости, т.к. этой ночью он всё понял. :)

Насчёт нравоучений:
с другой стороны, если давать готовый код - то это как-то не способствует развитию людей, а меня лично например бесит кол-во народа, который говорит что знает РНР, хочет 1500 баксов зп и при этом не может справиться с задачкой по выводу бинарного дерева.

Иногда действительно проще написать человеку пару строк кода чем объяснять многие и многие вещи или отправлять читать ОГРОМНОЕ кол-во мануалов, но это не в данном случае.

З.Ы. Кстати многие псевдопрограммеры действительно получают ТАКИЕ деньги, которые не должны заробатывать никогда, и всё по тому что они в своё время правильно перепечатали код с учебника, а теперь не знают что с этим делать.
 

FedY@

Новичок
полностю с тобой согласен... зделал через пинг!=)
спасибо еще раз огромное!
 
Сверху