[LUGA] Mit freundlicher Unterstützung von:
OCG

Mail Thread Index


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [luga] Re: [luga] ulimit, offene filedescriptors und Vererbungslehre (länger)



On 2006-11-12 23:39:02 +0100, Goesta Smekal wrote:
> Hakan Evirgen wrote:
> >>-----Original Message-----
> >>From: owner-luga@luga.at [mailto:owner-luga@luga.at] On Behalf Of Peter J.
> >>Holzer
> >>Sent: Sunday, November 12, 2006 5:39 PM
> >
> >>>Bei OpenLDAP gibt es eine die Option "idletimeout". Damit taucht dieses
> >>>Problem nicht mehr auf.
> >>
> >>Die verursacht aber laut Goesta andere Probleme, weil der Server
> >>einseitig Verbindungen schließt, die der Client gerne noch offen
> >>gehalten hätte.
> 
> Kaum logt sich jemand an einem Linux CLient am KDE ein, hat er besagte 
> rund 30 TCP Connections. Und die bleiben. Auch wenn ich am Client mit 
> dem idletimeout herumbastle. (was ja, wie bereits erwähnt, mehr schadet 
> als nutzt)
> 
> An einem eben erst per Ehterwake aktivierten Host habe ich mich per SSH 
> angemeldet (ins Büro fahr ich jetzt nicht zum testen) und da gibt es am 
> Server 2 Verbindungen zu dem Host mit Status "verbunden". Der Client 
> sagt er hat acht, sechs davon in CLOSE_WAIT (alles mit netstat efragt).

CLOSE_WAIT sollte bedeuten: Gegenseite hat Verbindung geschlossen, aber
lokale Applikation noch nicht. Wenn es so ein Zustand lange anhält,
deutet das IMHO auf einen Bug im Client hin, es sei denn, der Server hat
die Verbindung außertourlich (idletimeout?) geschlossen.


> >>SO_KEEPALIVE hätte den Vorteil, dass es auf TCP-Ebene abläuft und keine
> >>Mitarbeit der Applikation erfordert. Solange der Kernel des Clients noch
> >>etwas von der Verbindung weiß, kann er richtig antworten.
> 
> Dazu hätte ich gerne etwas mehr gewußt: Soll das eine slapd.conf 
> Direktive sein ?

Nein, das ist eine Socket-Option. Die kann eine Applikation auf einen
TCP-Socket setzen und der Kernel schickt dann regelmäßig
Keepalive-Pakete und schaut ob er eine Antwort bekommt. Das kann
entweder der Server oder der Client machen, und es wird üblicherweise
gemacht, wenn:

* lange Inaktivitätsphasen normal sind, aber man trotzdem erkennen will, 
  wenn die Gegenseite abgeschaltet wird oder sonstwie unerreichbar ist,

* wenn man regelmäßig Traffic generieren muss, um irgendwas dazwischen
  (stateful Firewall, Dial-Up-Leitung, ...) glücklich zu machen.

Auf die Schnelle fallen mir z.B. Samba, ssh und OpenVPN ein, die diese
Option setzen können. Ob OpenLDAP das kann, weiß ich nicht. In meinem
Fall (aber das war kein OpenLDAP) hätte es ziemlich sicher geholfen,
hätte der LDAP-Server das gekonnt.

Wenn die Clients wirklich viele LDAP-Verbindungen offenhalten (und bei
Linux glaube ich ehrlich gesagt nicht daran, dass der Kernel es nicht
mitbekommt, wenn eine Applikation stirbt :-)), nützt das natürlich
nichts. Aber immerhin kann man sich bei Linux ja recht genau anschauen,
was da vor sich geht.

	hp

-- 
   _  | Peter J. Holzer    | Ich sehe nun ein, dass Computer wenig
|_|_) | Sysadmin WSR       | geeignet sind, um sich was zu merken.
| |   | hjp@hjp.at         |
__/   | http://www.hjp.at/ |	-- Holger Lembke in dan-am

Attachment: signature.asc
Description: Digital signature



powered by LINUX the choice of a gnu generation
linux user group austria;
Suche
Suche
Letzte Änderung:
webmaster@luga.at
September 2010