Отговори на тема  [ 37 мнения ]  Отиди на страница Предишна  1, 2, 3
Ограничения на FTP-сървър 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
ако плащаш трафика на байт си трябва къстъм протокол
и понеже на лъчво му е такъв проблема, може да почнете да теоретизирате в тази посока.
а и той иска да мине тъкно откъм клиента - с някой от готовите протоколи в желязото.


Пет Май 15, 2009 12:14 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение Хех
Desert Leo написа:
tgi, имах предвид, че не се интересувам от машината, ОС и конкретно използвания FTP-сървър. FTP-то си го използвам за да си свалям инфо към моето устройство и си работи добре, но в FTP-протокола има доста служебен трафик при отваряне и затваряне на файла и особено при ъплоуд - някъде към 1,5КВ на файл.
При HTTP-то, служебния трафик е точно 402 байта на заявка, което за къси пакети с данни е по-изгодно. При дълги - FTP.
Сега чакам посещение от Сис-а с най-нови диви идеи. :wink:

goose, syslog-а изглежда интересно, но имаш ли опит как се държи с повече клиенти едновременно. Не ми се иска да стъря на гнило...

Миро, благодаря за разяснението.

Нали ти написах как става с HTTP заявка!
В зависимост от това какви данни ще вкараваш и колко на брой са ти променливите го правиш така:
1. Първата променлива -> AAA
2. Втората променлива -> BBB
3. Трета променлива -> CCC
4.....
........
10...
.............

например сървъра дето ги качваш се намира на адрес: 192.168.1.1
Изпълняваш долния линк с променливите :

[url]http://192.168.1.1/?var1=".$AAA."&var2=".$BBB."&var3=".$CCC[/url]
сървъра ги поема ако е на PHP по следния начин :
<?PHP
$host ="localhost";
$leo_db = "leo_db";
$username = "Leo";
$password = "Qwerty";
$conn = mysql_connect($host, $username, $password);
mysql_select_db($leo_db, $conn);
if ($_REQUEST['var1'] != "" && $_REQUEST['var2'] != "" && $_REQUEST['var3'] != "" )
{
$var1 = $_REQUEST['var1'];
$var2 = $_REQUEST['var2'];
$var3 = $_REQUEST['var3'];

$query = "INSERT into leo_table (var1,var2,var3) VALUE ('".$var1."','".$var2."','".$var3."')";
$result = mysql_query($query) or die ("mysql_query($query1) failed: ". mysql_error());
}

?>

_________________
Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !


Пет Май 15, 2009 12:18 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 3:25 pm
Мнения: 5677
Местоположение: София
Мнение 
Номера с HTTP-то стана.
btw, БатеАз знае, че редовната ми заплаха към сисадмина е, че ще му скъсъм то...ките и ще ги закача на клона на дърво пред фирмата с надпис "То...ките на Системния Администратор". :lol: :lol: :lol:

След като седнахме заедно и направихме няколко проби се разбра откъде идва проблема и нещата заспаха: от девайса през HTTP та в бозата данни.

Служебният трафик (следя го с Wireshark) не може да бъде намален на ниво HTTP/FTP.
Ако се слезе на ниво TCP/UDP, може и да може да се направи нещо по въпроса, но не много.
А по-надолу аз не мога - Телитския модул може толкова.


Пет Май 15, 2009 2:00 pm
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Сря Окт 03, 2007 3:39 pm
Мнения: 311
Мнение 
syslog-а не ти върши работа в посока от сървъра към клиента, еднопосочен е.
Иначе на едно бсд с 512 рам и п733 дъмпих навремето пълния лог на 65 сървъра и нямаше никакви проблеми по темата, протокола е безкрайно прост, натоварването което докарва е никакво.

Поздрави,


Пет Май 15, 2009 3:57 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение 
Desert Leo написа:
Номера с HTTP-то стана.
Служебният трафик (следя го с Wireshark) не може да бъде намален на ниво HTTP/FTP.
Ако се слезе на ниво TCP/UDP, може и да може да се направи нещо по въпроса, но не много.
А по-надолу аз не мога - Телитския модул може толкова.


И аз ползвам Wireshark... и наистина доста пакетчета биха могли да се спестят, определено TCP/IP стека на Telit не е върха на сладоледа ;-)
Но да правиш собствен стек е прекалено много работа! И то работа която няма да се отплати!

По-скоро може да помислиш за оптимизация на HTTP заявките 400 байта ако това са данни е прекалено много за заявка?! Нещо бъркаш... при мен заявките са от порядъка на 100-150 байта според URL-то и то при условие, че всеки път пращам "Connection: keep-alive User-Agent:..." Минималната е нещо от сорта:

Код:
GET / HTTP/1.1 CRLF
Host: 123.123.123.123 CRLF
CRLF


Това са към 40 байта... И повечко да са няма значие, щом имаш данни най-добре на една заявка да пращаш някъде до към 10К, колкото е буфера на Телит.
По-скоро ако идеята е да мачкаш трафик - направи компресия. По стандарт HTTP-то ти го позволява и мисля че няма сървър дето да не поддържа gzip и deflate. Така че от към сървърната страна изобщо нищо няма нужда да правите.
Не знам какво процесорче ползваш, но ако имаш АРМ-че с мъничко памет би трябвало да подкараш ZLIB-а... Аз съм го правел навремето и доколкото си спомям като код не беше много или поне имаше олекотена версия. Единствено за плъзгащия прозорец си трябва памет, но и с малко пак става. Просто няма да имаш супер компресия, но от твойте 200к може би ще остнат между 10 и 20к за прехвърляне ;-)


Пет Май 15, 2009 10:29 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение 
Desert Leo написа:
Номера с HTTP-то стана.
btw, БатеАз знае, че редовната ми заплаха към сисадмина е, че ще му скъсъм то...ките и ще ги закача на клона на дърво пред фирмата с надпис "То...ките на Системния Администратор". :lol: :lol: :lol:

След като седнахме заедно и направихме няколко проби се разбра откъде идва проблема и нещата заспаха: от девайса през HTTP та в бозата данни.

Служебният трафик (следя го с Wireshark) не може да бъде намален на ниво HTTP/FTP.
Ако се слезе на ниво TCP/UDP, може и да може да се направи нещо по въпроса, но не много.
А по-надолу аз не мога - Телитския модул може толкова.

Е па трябваше отдавна да висят на 2 различни дървета всяка :twisted: :twisted: :P

_________________
Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !


Съб Май 16, 2009 1:36 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 10, 2005 3:25 pm
Мнения: 5677
Местоположение: София
Мнение 
А бе я ми кажете как се таксува GPRS - всичко що е байт обмен ли се се таксува?

Цитат:
Това са към 40 байта...


Да така е, но това са само данните. Преди това, ако отваряш сокета имаш SYN, SYN-ACK, ACK, следва твоята заявка от окоро 40 байта+54 служебни, после ACK на заявката от 54 байта, а ако затваряш сокета - FIN и ACK.
Отговора на сървъра на твоята заявка е пак данни+54 байта и още един ACK пакет за потвърждение.
Ако се таксува всеки байт и се разкъсва сокета - това е доста над 40 байта ...


Съб Май 16, 2009 6:11 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 37 мнения ]  Отиди на страница Предишна  1, 2, 3

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни