SVN UPDATE schlägt fehl, da dem System keine Sockets mehr zur Verfügung stehen

1132
Patrick

Ich baue einen Terminalserver für eine kleine Gruppe von Entwicklern auf. Sie werden alle den SVN-Client verwenden, um auf das zentrale SVN-Repository zuzugreifen. Jedes Projekt in unserem SVN-Repository enthält viele externe (etwa 180, etwa 300). Alle Externen gehen in dasselbe Repository (auf diese Weise teilen wir Code zwischen Projekten).

SVN UPDATE schlägt fehl, da Windows meldet, dass ihm die Sockets ausgehen. In der Ereignisanzeige wird folgende Meldung angezeigt:

TCP/IP failed to establish an outgoing connection because the selected local endpoint was recently used to connect to the same remote endpoint. This error typically occurs when outgoing connections are opened and closed at a high rate, causing all available local ports to be used and forcing TCP/IP to reuse a local port for an outgoing connection. To minimize the risk of data corruption, the TCP/IP standard requires a minimum time period to elapse between successive connections from a given local endpoint to a given remote endpoint.

Laut Windows-Dokumentation sollte ein Terminalserver Socket-Ports ab ca. 50000 verwenden und über etwa 16000 Ports verfügen. Es scheint jedoch, dass SVN Ports von ungefähr 21000 erhält, wobei nur ungefähr 200 Ports verfügbar sind.

Fragen:

  • Gibt es eine Möglichkeit, SVN mit einem Socket die Gruppierung von Externen zu ermöglichen, ohne die Sockets zu schließen und wieder zu öffnen?
  • Wie können Sie die Ports konfigurieren, die Windows für die Netzwerkkommunikation verwendet? Ist die Dokumentation richtig (Ports ab 50000, 16000 Ports verfügbar) oder sind unsere Beobachtungen richtig (Ports ab 21000, 200 Ports verfügbar)
  • Weitere Vorschläge zur Lösung dieses Problems? (Die Äußerlichkeiten loszuwerden ist in diesem Moment keine Option).
2
@Ramhound, the problem is not at the server side. The problem is at the client side. Windows will hand out port numbers to all client sockets that connect to the server, but after a socket is closed, it needs to keep the port open for a short moment (in case any pending packets come in). In this short moment, it runs out of local ports. So the problem is not the port number on the SVN server side. Patrick vor 10 Jahren 0

1 Antwort auf die Frage

1
Patrick

Fand es.

Anscheinend hat unsere IT-Abteilung einen Firewall-Client installiert, der die Anzahl der Sockets auf 200 pro Person begrenzt. Die Erhöhung auf 2000 hat das Problem gelöst.

Fazit: Wenn Anwendungen keine Sockets mehr haben, überprüfen Sie nicht nur die Windows-Konfiguration, sondern auch die lokal installierte Firewall-Client-Software.