[uanog] IPSec performance @ x86
Sergey Smitienko
hunter at comsys.com.ua
Tue Feb 14 15:37:57 EET 2017
Была возможность - сделал тест.
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
на максимум.
Для сравнения, http://www.6wind.com/products/6windgate/ пишут про 12.5
Gbps per core на x86, но у них свой userspace IP стек.
--
Sergey
More information about the uanog
mailing list