Massiver Zugriff mit Apache-FTPClient

Alles, was den Apache betrifft, kann hier besprochen werden.

Massiver Zugriff mit Apache-FTPClient

Postby lfnn » 21. February 2011 18:17

Hallo zusammen,

ich habe ein Problem beim Zugriff auf viele Dateien mittels org.apache.commons.net.ftp.FTPClient. Im Pseudocode sieht mein Algorithmus folgendermaßen aus:

FTPFile[] files = holeDateipfadeDesFtpServer();
foreach(file : files){
String loaded = ftpClient.retrieveFile(file);
process(loaded);
}

Ich bekomme dabei nach einiger Zeit eine BindException, da keine freien Sockets mehr verfügbar sind (ich vermute auf dem Server).
Es handelt sich um mehrere Tausend Dateien um die 1K Größe, sodass ein einzelner FTP-Retr sehr schnell geht.
Ich habe schon folgendes probiert:
1.) Den ActivePortRange des Clients auf 8096-65500 eingestellt.
2.) Die Variable TIME_WAIT unter (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters) auf von 120 (default) auf 30 Sekunden verringert. Also die Zeit, bis ein bestimmter Port wieder freigegeben wird.

Beides lässt die Ports langsamer zulaufen, der Fehler verschwindet jedoch nicht.

Hat jemand von euch Erfahrung im Holen von vielen kleinen Dateien über FTP und kann mir weiterhelfen?

Schöne Grüße,
lfnn
lfnn
 
Posts: 1
Joined: 21. February 2011 18:11

Return to Apache

Who is online

Users browsing this forum: No registered users and 22 guests