Битва L2TP, RRAS vs SoftEther

8dc807f1bc666af6602288029b7c62a7.png


«Украденная с запада картинка для привлечения внимания»

В прошлых наших статьях мы рассказали, как работать с VDS на Windows Server Core 2019 на нашем новом тарифе UltraLight за 99 рублей в месяц. Предлагаем еще один способ использования данного тарифа. На этот раз речь пойдет о том, что лучше выбрать, если вам нужен VPN для ленивых или статический IP адрес, который кстати удобнее использовать вместо Hamachi и всего остального, если очень хочется поиграть в героев или Warcraft 3 по локальной сети. Речь не пойдет о настройке, поговорим о производительности.

Методика тестирования


RRAS и SoftEther были выбраны исходя из простоты установки, поддержки протокола L2TP и возможности управления через GUi.

Для SoftEther и RRAS использовалась подключение по L2TP с общим ключом через стандартные средства Windows. Как установилось, так и было протестировано.

В качестве операционной системы для SoftEther выступает Ubuntu 18.04 LTS, для RRAS Windows Server Core 2019. Все операционные системы перед тестами получили последние обновления на состояние от 21.11.2019. 

На виртуальную машину Hyper-V второго поколения устанавливались 1 ГБ ОЗУ, а также лимиты на процессор. Порядок выполнения групп тестов таков:

На все 8 ядер:

  1. Без ограничений
  2. Лимит в 50%
  3. Лимит в 25%
  4. Лимит в 5%
  5. Лимит в 1%


На 4 ядра:

  1. Без ограничений
  2. Лимит в 50%
  3. Лимит в 25%
  4. Лимит в 5%
  5. Лимит в 1%


На одно ядро:

  1. Без ограничений
  2. Лимит в 50%
  3. Лимит в 25%
  4. Лимит в 5%
  5. Лимит в 1%


На всех VPN серверах применялись настройки из коробки и был включен NAT. Все виртуальные машины находятся на одном хосте и на одном и том же виртуальном свитче.

Для оценки работы сети было выполнено тестирование между сервером и клиентом без подключения по VPN.

Тест проводился с помощью TamoSoft Throughput Test в режиме TCP only, для таблиц и графиков были взяты значения «ave». Данные собирались в течение 5 минут 30 секунд для каждого теста.

Для большего понимания лимитов обеих реализаций, сначала протестируем пропускную способность виртуального свитча на разной частоте ядра.

187bea9984ca6991f5c204a5230caa3e.png


Так выглядели результаты в программе тестирования. Далее все результаты будут обёрнуты в таблицы.

Как видим, виртуальный свитч не является узким местом в тестировании и почти выдаёт теоретический предел в 10 гигабит.

affadbf9932b0c304227d71089fe85a5.png


Как «Физически» выглядела тестовая сеть

Результаты:


На одно ядро:

4c69f066a2c05ad852b471701d03fecf.png


b6e605ebd8a23fe78739f4b3f385eafb.png


В дисциплине на одно ядро оба сервера идут вровень.

На 4 ядра:

4343d519926f33355b68ed259191bf8d.png


e1495f3ae41555012d576127d6dd5132.png


На 8 ядер:

3a7e4f03c68a3cdfb2da3a2902fa6f25.png


a76cd290d5bb0e5cc236d307dd4a099c.png


Тут мы явно видим какое решение лучше всего масштабируется от количества ядер. Снизив производительность каждого из ядер, RRAS компенсировал потери их количеством, чего не сделал SoftEther.

Потребление оперативной памяти системой

2771b8583a3787c69b9f6d3a396332fa.png


Объем оперативной памяти потребляемой SoftEther возрос от количества ядер, со 122 до 177 МБ, но всё равно меньше, чем у RRAS.

Сама служба RRAS весит в памяти около 200 мегабайт, за вычетом общего потребление системы.

Пропускная способность в разных условиях

fe2c2f4e61bdd6f34ee901d4583fce8b.png


Суммарная пропускная способность без каких-либо ограничений на процессор.

ebc266694c6cc8a67028c6a36ea78e7d.png


Если вы до сих пор не выбрали подходящее для вас решение, возможно, эта таблица поможет определиться с выбором. Приведена суммарная пропускная способность в режиме дефицита CPU.

ebd3f27e8a2e5261cc834e073904d269.png


Обратите внимание, что на четырёх и одном ядре производительность SoftEther«a выше, чем на восьми. Такая низкая производительность не встречается нигде, но само тестирование говорит о том, как действительно хорошо масштабируется алгоритм от количества ядер.

Заключение:


Подключиться к SoftEther при ограничении процессора не проходило с первого раза, пришлось сначала увеличивать лимит, подключаться и уже потом снижать лимит, это накладывает ограничение на его установку в совсем уж тонких средах. RRAS всегда логинил моментально.

Если у вас есть машина с большим количеством ядер, предпочтите RRAS. А для SoftEther«a можно, оставить и 4 ядра. Автор если бы и использовал его, то оставил для него лишь одно ядро.

Что и куда размещать — решайте сами. Если у вас есть 99 рублей на VPS с Windows Server на борту, оптимальным выбором все же будет именно RRAS. 

fy_ygawz3qa9h28otrjzuvit7uw.jpeg

© Habrahabr.ru