TCP stack pro miliony spojení

daniel

Re: TCP stack pro miliony spojení
« Odpověď #15 kdy: 05. 10. 2010, 21:25:55 »
pri milionech klientu ten milion mesicne na konektivitu snad i vyzebrate :) a pokud ne, tak porad existuji reseni (... p2p)


Re: TCP stack pro miliony spojení
« Odpověď #16 kdy: 06. 10. 2010, 11:47:24 »
No pokud to půjde přes kernelový IP stack, tak např. limit počtu deskriptorů, pak limit paměti kernelu, dále je to čas procházení seznamu spojení (je to už přes hash nebo ne?) atd.

Zadání "TCP spojení"... Nedá se s tím zadáním něco dělat? To má být z mobilů? To bych kvůli baterii využil raději existujících standardních funkčních řešení (jak pro iP4 tak Android).

Preco by malo byt TCP spojenie energeticky neusporne ? Neusporne je na niektorych telefonoch stale spojenie cez 3G modul. Ale samo o sebe, vlastny protokol nad TCP sa moze tiez odpajat po predani info, napr na zaklade pripojenia na baterku/elektriku.

mat

Re: TCP stack pro miliony spojení
« Odpověď #17 kdy: 06. 10. 2010, 12:09:04 »
Preco by malo byt TCP spojenie energeticky neusporne ? Neusporne je na niektorych telefonoch stale spojenie cez 3G modul. Ale samo o sebe, vlastny protokol nad TCP sa moze tiez odpajat po predani info, napr na zaklade pripojenia na baterku/elektriku.

TCP spojení jako takové ne (to je pro baterii určitě úspornější než UDP), ale určitě je úspornější mít jednu push notifikační službu, než aby si to implementovala každá aplikace zvlášť a udržovalo se těch spojení víc. Vývojáři mobil aplikací - začátečníci - často zapomínají, že ta jejich není jediná, co běží na telefonu.

Kojot

Re: TCP stack pro miliony spojení
« Odpověď #18 kdy: 06. 10. 2010, 18:24:45 »
Pokud neni podminka Linux, tak mozna Solaris a zkusil bych pouzit:
http://developers.sun.com/solaris/articles/event_completion.html.
Podobne komplexni vec mi na Linuxu chybi, i kdyz na nej prechazime kvuli Oracle. Tam je tusim jen epoll, ale i ten by mozna stacil. Nevim jaky sitovy provoz a pocet spojeni to snese, navic je urcite potreba si pohrat s nastavenim systemu, at uz Linux nebo Solaris, co se tyce poctu otevrenych spojeni atd.

ondra.novacisko.cz

Re: TCP stack pro miliony spojení
« Odpověď #19 kdy: 11. 10. 2010, 06:43:27 »
Na mobil to být nemá. Měl by to být ale "jediný push server" na desktopy. Umožňoval by hlavně rychlou reakci na vzniklou událost. Třeba když přijde e-mail do schránky, tak se o tom uživatel hned dozví, ne až za pět minut, což je interval pollingu (nebo se to hodí na notifikace o nových updatech, ať již software, nebo novinkách na webovkách, atd).

Keepalive overhead mi nevadí. Polling je náročnější hlavně na servery, než na síť. Musí třeba e-mailovou schránku vyhledat. Neustále jsou servery zatěžovány dotazy na to, zda existuje nový e-mail. Použitím push serveru znamená, že se jich nebude ptát nikdo, a až nějaký mail dojde, tak event předá na push server, což je rozhodně méně náročné, než obráceneně.

Uvědomte si, že na desktopech neexistuje žádný oficiální push server. Když to půjde, podaří se mi něco takového zprovoznit aspoň pro produkty firmy, ve které pracuju :-) a možná zájemce o technologii z vnějšího prostředí :-)


No zatím to vypadá, že použiju kombinaci UDP + TCP. UDP tam kde to půjde, TCP tam kde jsou proxy a různá další omezení. Tolik zákazníků s TCP zas nebude, aby to nezvládla běžná linuxová mašina.


Pindal

Re: TCP stack pro miliony spojení
« Odpověď #20 kdy: 11. 10. 2010, 07:56:42 »
No tak konkretne u toho emailu, uz ta push notifikace funguje nejaky ten patek pres IMAP.

ondra.novacisko.cz

Re: TCP stack pro miliony spojení
« Odpověď #21 kdy: 11. 10. 2010, 08:50:58 »
No tak konkretne u toho emailu, uz ta push notifikace funguje nejaky ten patek pres IMAP.

Akorát je to trošku kanón na vrabce. A navíc je určen právě jen pro e-mail

couchdb

Re: TCP stack pro miliony spojení
« Odpověď #22 kdy: 11. 10. 2010, 09:11:46 »
Nesla by pouzit CouchDB + replikace? tam to preci funguje ja push, ne?

mat

Re: TCP stack pro miliony spojení
« Odpověď #23 kdy: 11. 10. 2010, 09:20:28 »
No zatím to vypadá, že použiju kombinaci UDP + TCP. UDP tam kde to půjde, TCP tam kde jsou proxy a různá další omezení. Tolik zákazníků s TCP zas nebude, aby to nezvládla běžná linuxová mašina.

C500K ... http://bit.ly/barcub
Mochiweb ... http://bit.ly/9yA0Jo

Pak existují user space implementace TCP.. Ale určitě bych zvážil použití jiného OS (Solaris, *BSD) jako nejmenší zlo.

ondra.novacisko.cz

Re: TCP stack pro miliony spojení
« Odpověď #24 kdy: 11. 10. 2010, 09:39:25 »

C500K ... http://bit.ly/barcub
Mochiweb ... http://bit.ly/9yA0Jo

Pak existují user space implementace TCP.. Ale určitě bych zvážil použití jiného OS (Solaris, *BSD) jako nejmenší zlo.

Každopádně díky za TIPy. Jiný OS nepřipadá moc v úvahu, všichni tu jedou na debianu, znamenalo by to významný zásah do interních postupů (ono i to UDP je už dost odvaha :-)

Nějaký projekt "user space implementace TCP"?

mat

Re: TCP stack pro miliony spojení
« Odpověď #25 kdy: 11. 10. 2010, 10:14:34 »
Krom googlu víc asi neporadím. Nemám praktickou zkušenost.

mat

Re: TCP stack pro miliony spojení
« Odpověď #26 kdy: 13. 10. 2010, 13:37:32 »
A jinak mě jako docela zajímavý přišel ten návrh Daniela udělat to přes P2P. Na takové notifikace, ani nepotřebujete kdovíjaké QoS.

BTW objeví se výsledek (aspoň ve formě zápisu zkušeností) na vašem blogu?