Hi!
14 февр. 2017 г., в 15:37, Sergey Smitienko
написал(а): Была возможность - сделал тест.
3.16.0-4-amd64 #1 SMP Debian
Intel(R) Xeon(R) CPU E3-1225 v5 @ 3.30GHz
Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
add x y esp 12044 -m tunnel -E aes-cbc "0123456789abcdef01234567" -A hmac-sha256 "0123456789abcdef0123456789abcdef"; add y x esp 12045 -m tunnel -E aes-cbc "0123456789abcdef01234567" -A hmac-sha256 "0123456789abcdef0123456789abcdef"; spdadd x y any -P in ipsec esp/tunnel/x-y/require; spdadd y x any -P out ipsec esp/tunnel/y-x/require;
Машины включены в один ethernet без ipsec качают 10G (iperf3).
aes128-md5 - cpu load около 20%. aes128-sha256 - cpu load около 20%. aes256-sha256 - cpu load около 20%
Во всех случаях iperf3 разгонялся до примерно 1 - 1.2 гигабита в секунду и больше скорость не росла. Запускал и в один и в несколько потоков.
Судя по [49374.856185] sha256_ssse3: Using AVX2 optimized SHA-256 implementation [49374.900019] sha512_ssse3: Using AVX2 optimized SHA-512 implementation [49375.146132] alg: No test for authenc(hmac(md5),cbc(aes)) (authenc(hmac(md5-generic),cbc-aes-aesni)), ядро выбрало aes-ni драйвер шифрования для md5 и aes-ni/avx2 для sha256.
Выводы - где-то в ядре Linux есть блокировки и проблемы с оптимизацией, которые не позволяют качать быстрее, чем гигабит в секунду и загрузить cpu на максимум.
Такое впечатление, что работало в один поток. Загруска cpu -- это 20% от всего, или 20% одного ядра? Впрочем тут еще зависит от того как (чем) смотреть загрузку... -- Victor Cheburkin VC319-RIPE, VC1-UANIC