Я пытаюсь настроить vsftpd для достижения максимальной производительности для моего использования:
В целях тестирования я использую tmpfs с обеих сторон (тем самым устраняя узкие места на диске) с одним файлом размером 1 ГБ.
Когда SSL отключен, производительность хорошая, скорость передачи данных составляет ~ 120 МБ / с (достигая пределов гигабитной сети).
Если SSL включен только для управляющего трафика (а не трафика данных), производительность падает примерно до 112 МБ / с, что все еще находится в допустимых пределах.
Однако, когда SSL включен для потоков данных, скорость передачи резко падает:
ssl_ciphers=DES-CBC3-SHA
в vsftpd.conf)ssl_ciphers=DES-CBC-SHA
)Я не тестировал другие шифры, но из того, что я вижу по использованию ЦП во время передачи, кажется, что vsftpd использует только один процессор / ядро для каждого клиента. Хотя это подходит для крупных ftp-сайтов с сотнями клиентов, я бы хотел избежать такого поведения и использовать больше ресурсов на сервере.
Кстати, если у вас есть идеи относительно других шифров openssl ...
Я только что прочитал http://unhandledexpression.com/2013/01/25/5-easy-tips-to-accelerate-ssl/ который предлагает бежать openssl speed
. В зависимости от результатов вы можете выбрать другой алгоритм. К сожалению, я понятия не имею, как распределить нагрузку одной задачи шифрования на несколько ядер.