Problema konyhanyelven:
Adott egy ftp szerver, ehhez automatikusan kapcsolodnak idonkent kliensek, gyorsan vegigneznek egy specialis konyvtarstrukturat, esetleg letoltenek, majd kilepnek.
Ezen folyamatot netstat-al kovetve latszik, hogy a konyvtarvaltasok letrehoznak eleg sok TIME_WAIT-es kapcsolatot(egy kliens neha 200at is). Maga a muvelet(amig a kliens vegez) idealis esetben par masodperc.
Kerdes:
lehet-e barmi baj abbol, ha tobb(sok) kliens egyszerre matat?
- 1259 megtekintés
Hozzászólások
up
- A hozzászóláshoz be kell jelentkezni
> lehet-e barmi baj abbol, ha tobb(sok) kliens egyszerre matat?
Mi történik, ha elfogynak a szabad portok (, mert mindegyik TIME_WAIT-ben van)?
- A hozzászóláshoz be kell jelentkezni
igy kepzeld el
tcp4 0 0 <szerver ip>.<data port> <kliens ip>.33337 TIME_WAIT
tcp4 0 0 <szerver ip>.<data port> <kliens ip>.33338 TIME_WAIT
.
.
tcp4 0 0 <szerver ip>.<data port> <kliens ip>.33537 TIME_WAIT
data port mindig ugyan az
- A hozzászóláshoz be kell jelentkezni
Persze. Az erőforrásaid korlátozottak. Minden egyes kliens kiszolgálásának ára van. Amik az erőforrásaidba kerülnek. Egy idő után nem fogod tudni mindet kiszolgálni. Lásd (DOS).
- A hozzászóláshoz be kell jelentkezni
igen pont erre gondoltam, kerdes, hogy vajon hol lesz ez a hatar... (tudom 1000 dologtol fugg)
valszeg a legegyszerubb, ha kikiserletezem, csak sajna ez nem lesz olyan egyszeru :(
- A hozzászóláshoz be kell jelentkezni
egy mostani hardver elég sok TIME_WAITben lévő socketet "kibír". Ezeknek az élettartamát lehet állítani a /proc/sys/net/ipv4/tcp_fin_timeout -tal, ha jól tudom (már ha linuxról van szó...)
- A hozzászóláshoz be kell jelentkezni
bocs elfelejtettem, freebsd 6.2-RELEASE az OS
imho ezek a problemahoz kapcsolhato sysctl valtozok:
kern.ipc.somaxconn: limits the size of the listen queue for accepting new TCP connections, jelenleg 1024 (default 128)
net.inet.tcp.msl : max segment lifetime ms-ben, jelenleg 30000 azaz 30mp
kern.ipc.maxsockets: max socket szam, jelenleg 25600
net.inet.tcp.maxtcptw: ha egy socket TIME_WAIT-be megy, akkor egy uj, minimalis meretu(es ezaltal memoria igenyu) struct jon letre az eredeti helyett. Ennek a default erteke kern.ipc.maxsockets / 5 azaz 5120
Gondolom ha ezeket felhuzom az jot tesz.
Szerk: itt egy ezzel kapcsolatos link
- A hozzászóláshoz be kell jelentkezni