Re: tux as ftp server question
Ingo Molnar <[email protected]>
| Newsgroups | gmane.network.tux |
|---|---|
| Message-ID | <[email protected]> |
On Wed, 3 Apr 2002, zhang li wrote: > Could you please compare tux ftp server with the > normal ftp server(such as wu.ftpd) with respective of > data copying(among NIC, kernel space and user space)? > I am sort of confused. Thanks a lot. wu.ftpd does the following on 'send a file': [if noncached] DMA data into a kernel-space buffer [pagecache] copy pagecache data into user-space buffer copy user-space buffer into kernel-space network buffer send/DMA kernel-space network buffer over the network TUX does: [if noncached] DMA data into a kernel-space buffer [pagecache] send/DMA pagecache data over the network as you can see, in both the cached and noncached case wu.ftpd does two copies of the data, while TUX does none. Hence the 'zero-copy'. Now, if a userspace server uses sendfile(), it will not copy data. I believe vsFTPd might be such a server? I'm not sure. wu.ftpd is definitely not such a server. obviously there are other, perhaps more important differences as well, such as feature richness [TUX is anonymous download-only], security model, and the issue of process modell (TUX uses per-CPU processes, wu.ftpd and vsFTPd uses [multiple] per connection processes), and the protocol parsing overhead. number of users supported is wastly larger in the case of TUX/FTP, eg. on the ftp.rpmfind.net FTP server there is a 10 thousand users limit, and we did in fact test so many users. The best way to find out is to test a particular workload over a local network. Ingo