Toto je starší verze dokumentu!
Zabíjení procesů Firebirdu na windows
Po pádu obisu (např. z důvodu přerušení síťového připojení) mohou zůstat na serveru blokovány obis licence běžícími firebird procesy. Standardní timeout spojení na windows je 2 hodiny - po této době se proces automaticky zabije. Tuto dobu je možné zkrátit úpravou registrů pomocí nastavení TCP KeepAliveTime.
Nastavení doby detekce ukončeného klientského spojení
Doba ukončení spojení = KeepAliveTime + TcpMaxDataRetransmissions*KeepAliveInterval (defaultne 2hod)
Windows
V registry \HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters\ (doby v minisekundach)
KeepAliveTime 7200000 -> 60000 (2hod -> 1min) KeepAliveInterval 1000 -> 10000 (1sec -> 10 sec) TcpMaxDataRetransmissions 5
Firebird
tail /proc/sys/net/ipv4/tcp_keepalive_* (doby v sekundach)
/etc/sysctl.conf
net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=10 net.ipv4.tcp_keepalive_probes=5
sysctl -a | grep tcp_keepalive sysctl -p /etc/sysctl.conf
Manuální zabití Firebird procesů, které blokují licence je možné s pomocí TCPView od sysinternals. V licencích obisu se zjistí IP, které licence blokuje a v TCPView se zabije proces firebirdu, který má na toto IP spojení. Poté už půjde v licencích tyto konexe vymazat.