Rozpad TCP spojeni - keepallive timeout

Jiří Vojtek konference na vojtek.biz
Úterý Listopad 21 18:16:25 CET 2017


Tak tohle je jeden z castych problemu, ktery se nam deje u zakazniku.

Problem je, jak rikate, v timeoutu, – variant proč nastane je vice. Jedna je ta, že po nějakém čase firewall utne spojení a aplikace se to dozvi az po dobehnutí timeoutu – hledat u nastaveni FW jestli sleduji aktivitu spojení. Druhá je přesně ta, že Vám něco běží dlouho až se na ten timeout dostanete – buďto předělat ten dotaz, aby postupně posílal data – když to jde nebo v jádru přenastavit delku timeoutu – to je prasečina. Samozřejmě pak připadají v ůvahu různé temp tabulky, asynchronní spuštění dotazů dotazování na stav atd ..  My to naštěstí většinou můžeme řešit lepší cestou. Používáme pro konektivitu do DB JNDI konektivitu a  pool – ten si umí s podobným problémem poradit tak, že Vám posílá keep alive pakety. Mimo jiné je schopen samozřejmě connections recyklovat atd … Ale tam záleží na té aplikaci která se připojuje, jestli něco takového podporuje.

J.V.

 

From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of hwnews konference
Sent: Thursday, November 16, 2017 12:57 PM
To: HW-news <hw-list na list.hw.cz>
Subject: OT: Rozpad TCP spojeni - keepallive timeout

 

Zdravim,

 

je tady jiste vic lidi, kteri resi i sitove zalezitosti at na urovni serveru tak na urovni el. zarizenich komunikujicich spolu.

 

Problem, ktery uz od pondeli resim se netyka zadneho HW zarizeni.

 

Jedna se o komunikaci mezi klientskym PC a serverem kde bezi SQL. Problem nastava pokud klient bud nic dlouho nic nedela (resitelne) a nebo pokud prikaz nestihne dobehnout v jiste dobe (zavira se to vzdy po 3600s) . Potom se uzavre spojeni s klientem, proces na SQL jeste jistou dobu bezi a po nejake dobe SQLko zjisti, ze klient neni pripojeny a prikaz odrolluje zpatky.

 

Patrame (sitari, my, admini OS) kde je vlastne nastaveny onen timeout 3600s. Co jsem dohledal tak SQL spoleha na Solarisu na parametr KeepAlive Timeout, ktery je ale defaultne nastaven na 7200s. Ostatne stejne by to melo byt i na WIN a Linuxu. Na serveru jedoucim na Solarisu je to opravdu nastaveno na ty dve hodiny. 

Stejne se ukoncuje i spojeni proti SQLku na woknech.

 

Pisu sem zda nekdo neresil jak udrzet persistentni spojeni - doposud jsme to resili v aplikacich timerem a opakovanim nejakeho nesmyslneho selectu do DB. Ted bysme ale chteli vedet kde je pricina.

 

RV

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20171121/3c89ffc3/attachment-0001.html>


Další informace o konferenci Hw-list