"ls -l" command and performance of sftp
Damien Miller
djm at mindrot.org
Fri May 12 21:58:11 EST 2006
On Fri, 12 May 2006, ponraj wrote:
> Hi all,
>
> Patch to cache group and userids is attched along with this
> mail. The patch looks up the cache first before proceeding with
> getgrgid,getpwuid calls and thus reduces the amount of lookups and
> increases preformance in environments such as LDAP database.
BTW a related problem in sftp is that it effectively does the
remote stat() operations twice during a remote glob().
The SSH2_FXP_READDIR operation returns an Attrib (the protocol's
equivalent of "struct stat"), but we throw it away when we do a
remote_glob() because the libc glob() API has no way to report
this information back. For things like "ls -l" we end up doing
a remote stat() because we need this information anyway...
A relatively easy performance win would be to take the glob()
implementation from OpenBSD's libc (also in openbsd-compat/ in
portable OpenSSH) and modify its API so that it does native
remote sftp operations and retains the Attrib information that
they provide.
Any takers? This is pretty small project...
-d
More information about the openssh-unix-dev
mailing list