mirror of
https://github.com/InfrastructureServices/vsftpd.git
synced 2025-04-19 01:24:02 +03:00
38 lines
1.1 KiB
Plaintext
38 lines
1.1 KiB
Plaintext
- See also BENCHMARKS
|
|
|
|
This FTPd should be very performant. The reasons for this are below, followed
|
|
by specific benchmarks as and when I get them.
|
|
|
|
1) Generally, it is a fairly minimal FTPd. There should not be much code and/or
|
|
syscall bloat.
|
|
|
|
2) For binary downloads, Linux sendfile() is used. This is a lot lighter on
|
|
CPU/syscall usage than your regular read()/write() loop.
|
|
|
|
3) The "ls" command is fully internal. That is to say, an external "ls" command
|
|
does not need to be launch. Launching an external process is costly because
|
|
of the fork(), exec(), ELF loader startup, etc.
|
|
|
|
|
|
It is not all good news, of course. Potential sources of poor performance
|
|
include
|
|
|
|
1) Overhead of two processes per session (in some common configurations).
|
|
|
|
2) Excessive heap usage hidden behind the string API.
|
|
|
|
|
|
BENCHMARKS
|
|
==========
|
|
|
|
1) vsftpd downloads ASCII data at at least twice the rate of wu-ftpd.
|
|
|
|
2) vsftpd has achieved 86Mbyte/sec download over Gigabit ethernet between
|
|
Linux-2.4.x boxes (thanks to sendfile())
|
|
|
|
3) vsftpd has smaller virtual memory usage (and RSS, it seems)
|
|
|
|
4) Various reports have trickled in and indicate that vsftpd thumps wu-ftpd
|
|
in performance tests.
|
|
|