Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Pfsense+Proxmox+AMD Ryzen+AES-NI

    Scheduled Pinned Locked Moved Russian
    20 Posts 4 Posters 24.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P Offline
      pigbrother
      last edited by

      Bug #7810
      openssl/openvpn need to have loaded booth AESNI and cryptodev to accelerate AES operations , but gui alows you load only one at once
      Будет исправлено в 2.4.1
      https://redmine.pfsense.org/issues/7810

      https://doc.pfsense.org/index.php/2.4.1_New_Features_and_Changes

      1 Reply Last reply Reply Quote 0
      • G Offline
        Gektor
        last edited by

        Несколько недель сам разбирался с OpenVPN и аппаратным шифрованием, в версии 2.4.0 (и девелоп 2.4.2а) AES-NI вкл/вкл в настройках PFSense практически никак не влияют на результаты работы / тестов OpenVPN, т.к. если есть AES-NI, то он используется автоматически.
        Для CPU intel лучше использовать GCM шифрование в виду большей оптимизации процессора под этот алгоритм, RDRAND не имеет никакого отношения к AMD процессорам, это алгоритм аппараттной генерации рандомных чисел от интел начиная с процессоров Ivy Bridge. В некоторых сценариях шифрования незначительно повышает производительность на процессорах Intel.

        Для сравнения (процессор Celeron 3865U 2x1.8 ГГц):
        openssl speed -elapsed -evp aes-256-cbc
        type            16 bytes    64 bytes    256 bytes  1024 bytes  8192 bytes
        aes-256-cbc    443432.92k  472857.02k  477686.25k  482970.28k  483590.14k

        openssl speed -elapsed -evp aes-256-gcm
        type            16 bytes    64 bytes    256 bytes  1024 bytes  8192 bytes
        aes-256-gcm    293267.67k  786376.13k  1204654.15k  1294190.33k  1331465.46k

        На GCM разница с CBC колоссальная.

        На практике при шифровании 256-GCM скорость туннеля на данном процессоре порядка 50 МБ/с (до 500 мбит).

        Для AMD не могу знать, т.к. нет под руками ничего современно-толкового.

        1 Reply Last reply Reply Quote 0
        • P Offline
          pigbrother
          last edited by

          На GCM разница с CBC колоссальная

          Однако минус в том, что многие "железные" клиентские устройства c OpenVPN о GCM понятия не имеют.

          Можно ли спросить на каких настойках остановились? Чтоиз crypto  выбрано в настройках собственно сервера OpenVPN?

          1 Reply Last reply Reply Quote 0
          • G Offline
            Gektor
            last edited by

            У меня установлено Intel RDRAND Engine, хотя что с ним что без него - практически никакой разницы… AES-NI работает по умолчанию.

            1 Reply Last reply Reply Quote 0
            • P Offline
              pigbrother
              last edited by

              А каков реальный выигрыш, не в тестах openssl speed, а  в Open VPN? Болше скорости? Меньше загрузка CPU?

              1 Reply Last reply Reply Quote 0
              • G Offline
                Gektor
                last edited by

                Больше скорость канала и меньше нагрузка на процессор — без оптимизации загрузка процессора под 90% и скорость до 100 мбит, с оптимизацией загрузка процессора менее 50% скорость до 500 мбит.

                Есть понятие аппаратная оптимизация и если софт оптимизирован под железо, то на относительно дешевом железе можно получить приличные результаты.

                1 Reply Last reply Reply Quote 0
                • P Offline
                  pigbrother
                  last edited by

                  Спасибо.

                  Это цифры с AES-GCM?
                  Если да - то каковы будут результаты с AES-CBC?

                  1 Reply Last reply Reply Quote 0
                  • G Offline
                    Gektor
                    last edited by

                    Это с GCM, CBC точно не помню, но по-моему около 300 мбит было. Загрузку процессора при CBC не помню.

                    1 Reply Last reply Reply Quote 0
                    • G Offline
                      Gektor
                      last edited by

                      Еще немного синтетики на Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz (pfSense 2.4.0 отдано 1 ядро под Hyper-V 2016):
                      openssl speed -elapsed aes-256-cbc
                      type            16 bytes    64 bytes    256 bytes  1024 bytes  8192 bytes
                      aes-256 cbc    104734.30k  107559.70k  108202.41k  254901.25k  258236.42k

                      openssl speed -elapsed -evp aes-256-cbc
                      type            16 bytes    64 bytes    256 bytes  1024 bytes  8192 bytes
                      aes-256-cbc    550018.00k  585781.97k  597035.43k  603340.80k  604815.36k

                      openssl speed -elapsed -evp aes-256-gcm
                      type            16 bytes    64 bytes    256 bytes  1024 bytes  8192 bytes
                      aes-256-gcm    383488.66k  940133.85k  2013853.10k  2815626.58k  3424714.75k

                      GCM на интел однозначно рулит )))

                      1 Reply Last reply Reply Quote 0
                      • A Offline
                        Alanku
                        last edited by

                        Заело меня немножко использование AES NI в реале. Решил смастерить стенд. Нашел у себя бук с i3 U6060, поставил на него ppfSense 2.4.1 в виртуалку под VirtualBox, отдал одно ядро для чистоты эксперимента, чтобы уж точно было видно, кто будет тупить. Сетка гигабитная.
                        IPSEC AES-GCM. Во результаты ниже:

                        –---------------------------------------------------------------------
                        CrystalDiskMark 5.2.0 x64 (C) 2007-2016 hiyohiyo
                                                  Crystal Dew World : http://crystalmark.info/

                        • MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
                        • KB = 1000 bytes, KiB = 1024 bytes

                        Sequential Read (Q= 32,T= 1) :    11.534 MB/s
                          Sequential Write (Q= 32,T= 1) :    10.380 MB/s
                          Random Read 4KiB (Q= 32,T= 1) :    7.028 MB/s [  1715.8 IOPS]
                        Random Write 4KiB (Q= 32,T= 1) :    8.680 MB/s [  2119.1 IOPS]
                                Sequential Read (T= 1) :    7.969 MB/s
                                Sequential Write (T= 1) :    9.857 MB/s
                          Random Read 4KiB (Q= 1,T= 1) :    2.133 MB/s [  520.8 IOPS]
                          Random Write 4KiB (Q= 1,T= 1) :    2.349 MB/s [  573.5 IOPS]

                        Test : 4096 MiB [W: 31.1% (37.0/118.8 GiB)] (x5)  [Interval=5 sec]
                          Date : 2017/10/27 9:36:19
                            OS : Windows 7 Ultimate SP1 [6.1 Build 7601] (x64)
                            AES NI off

                        –---------------------------------------------------------------------
                        CrystalDiskMark 5.2.0 x64 (C) 2007-2016 hiyohiyo
                                                  Crystal Dew World : http://crystalmark.info/

                        • MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
                        • KB = 1000 bytes, KiB = 1024 bytes

                        Sequential Read (Q= 32,T= 1) :    20.379 MB/s
                          Sequential Write (Q= 32,T= 1) :    15.336 MB/s
                          Random Read 4KiB (Q= 32,T= 1) :    15.471 MB/s [  3777.1 IOPS]
                        Random Write 4KiB (Q= 32,T= 1) :    12.260 MB/s [  2993.2 IOPS]
                                Sequential Read (T= 1) :    19.923 MB/s
                                Sequential Write (T= 1) :    14.889 MB/s
                          Random Read 4KiB (Q= 1,T= 1) :    2.554 MB/s [  623.5 IOPS]
                          Random Write 4KiB (Q= 1,T= 1) :    2.562 MB/s [  625.5 IOPS]

                        Test : 4096 MiB [W: 31.0% (36.9/118.8 GiB)] (x5)  [Interval=5 sec]
                          Date : 2017/10/27 9:49:10
                            OS : Windows 7 Ultimate SP1 [6.1 Build 7601] (x64)
                            AES NI ON

                        Загрузка проца на pfSense была под 100 процентов, для себя сделал вывод AES NI в реальной работе очень даже рулит!

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.