[Cyberduck-trac] [Cyberduck] #6791: Cyberduck very slow to list directory containing multiple symbolic links over FTP
Cyberduck
trac at trac.cyberduck.ch
Thu Aug 2 22:01:20 CEST 2012
#6791: Cyberduck very slow to list directory containing multiple symbolic links
over FTP
--------------------------+---------------------------
Reporter: firewing1 | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: core | Version: 4.2.1
Severity: normal | Keywords:
Architecture: Intel | Platform: Mac OS X 10.7
--------------------------+---------------------------
I've noticed that Cyberduck can take quite some time listing directories
that contain links over FTP/FTPS connections. It seems that the more there
are, the slower the process gets:
{{{
NOOP
200 Zzz...
STAT /test
213-STAT
drwxr-xr-x 2 firewing firewing 4096 Aug 2 14:44 .
drwxr-x--- 13 firewing 99 4096 Aug 2 14:44 ..
lrwxrwxrwx 1 firewing firewing 11 Aug 2 14:44
linked_file_1 -> normal_file_1
lrwxrwxrwx 1 firewing firewing 12 Aug 2 14:44
linked_file_2 -> normal_file_2
-rw-r--r-- 1 firewing firewing 0 Aug 2 14:44
normal_file_1
-rw-r--r-- 1 firewing firewing 0 Aug 2 14:44
normal_file_2
213 End.
CWD /test/linked_file_1
550 Can't change directory to /test/linked_file_1: Not a directory
CWD /test/normal_file_1
550 Can't change directory to /test/normal_file_1: Not a directory
CWD /test/linked_file_2
550 Can't change directory to /test/linked_file_2: Not a directory
CWD /test/normal_file_2
550 Can't change directory to /test/normal_file_2: Not a directory
}}}
2 symlinks in 4.7s
{{{
NOOP
200 Zzz...
STAT /test
213-STAT
drwxr-xr-x 2 firewing firewing 4096 Aug 2 14:47 .
drwxr-x--- 13 firewing 99 4096 Aug 2 14:44 ..
lrwxrwxrwx 1 firewing firewing 11 Aug 2 14:44
linked_file_1 -> normal_file_1
lrwxrwxrwx 1 firewing firewing 12 Aug 2 14:44
linked_file_2 -> normal_file_2
lrwxrwxrwx 1 firewing firewing 13 Aug 2 14:47
linked_file_3 -> normal_file_3
lrwxrwxrwx 1 firewing firewing 13 Aug 2 14:47
linked_file_4 -> normal_file_4
lrwxrwxrwx 1 firewing firewing 13 Aug 2 14:47
linked_file_5 -> normal_file_5
lrwxrwxrwx 1 firewing firewing 13 Aug 2 14:47
linked_file_6 -> normal_file_6
lrwxrwxrwx 1 firewing firewing 13 Aug 2 14:47
linked_file_7 -> normal_file_7
lrwxrwxrwx 1 firewing firewing 13 Aug 2 14:47
linked_file_8 -> normal_file_8
lrwxrwxrwx 1 firewing firewing 13 Aug 2 14:47
linked_file_9 -> normal_file_9
-rw-r--r-- 1 firewing firewing 0 Aug 2 14:44
normal_file_1
-rw-r--r-- 1 firewing firewing 0 Aug 2 14:44
normal_file_2
-rw-r--r-- 1 firewing firewing 0 Aug 2 14:47
normal_file_3
-rw-r--r-- 1 firewing firewing 0 Aug 2 14:47
normal_file_4
-rw-r--r-- 1 firewing firewing 0 Aug 2 14:47
normal_file_5
-rw-r--r-- 1 firewing firewing 0 Aug 2 14:47
normal_file_6
-rw-r--r-- 1 firewing firewing 0 Aug 2 14:47
normal_file_7
-rw-r--r-- 1 firewing firewing 0 Aug 2 14:47
normal_file_8
-rw-r--r-- 1 firewing firewing 0 Aug 2 14:47
normal_file_9
213 End.
CWD /test/linked_file_1
550 Can't change directory to /test/linked_file_1: Not a directory
CWD /test/normal_file_1
550 Can't change directory to /test/normal_file_1: Not a directory
CWD /test/linked_file_2
550 Can't change directory to /test/linked_file_2: Not a directory
CWD /test/normal_file_2
550 Can't change directory to /test/normal_file_2: Not a directory
CWD /test/linked_file_3
550 Can't change directory to /test/linked_file_3: Not a directory
CWD /test/normal_file_3
550 Can't change directory to /test/normal_file_3: Not a directory
CWD /test/linked_file_4
550 Can't change directory to /test/linked_file_4: Not a directory
CWD /test/normal_file_4
550 Can't change directory to /test/normal_file_4: Not a directory
CWD /test/linked_file_5
550 Can't change directory to /test/linked_file_5: Not a directory
CWD /test/normal_file_5
550 Can't change directory to /test/normal_file_5: Not a directory
CWD /test/linked_file_6
550 Can't change directory to /test/linked_file_6: Not a directory
CWD /test/normal_file_6
550 Can't change directory to /test/normal_file_6: Not a directory
CWD /test/linked_file_7
550 Can't change directory to /test/linked_file_7: Not a directory
CWD /test/normal_file_7
550 Can't change directory to /test/normal_file_7: Not a directory
CWD /test/linked_file_8
550 Can't change directory to /test/linked_file_8: Not a directory
CWD /test/normal_file_8
550 Can't change directory to /test/normal_file_8: Not a directory
CWD /test/linked_file_9
550 Can't change directory to /test/linked_file_9: Not a directory
CWD /test/normal_file_9
550 Can't change directory to /test/normal_file_9: Not a directory
}}}
9 symlinks in 39.4s
4.7/2*9=21.2 seconds so this isn't a linear progression, which explains
why things get much slower the more symlinks there are.
I've confirmed this on two different servers, although both were running
Pure-FTPd (one cPanel, one not).
--
Ticket URL: <http://trac.cyberduck.ch/ticket/6791>
Cyberduck <http://cyberduck.ch>
Open source FTP, SFTP, WebDAV, Cloud Files, Google Docs & Amazon S3 Browser for Mac & Windows.
More information about the Cyberduck-trac
mailing list