Битва L2TP, RRAS vs SoftEther
«Украденная с запада картинка для привлечения внимания»
В прошлых наших статьях мы рассказали, как работать с 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 ядер:
- Без ограничений
- Лимит в 50%
- Лимит в 25%
- Лимит в 5%
- Лимит в 1%
На 4 ядра:
- Без ограничений
- Лимит в 50%
- Лимит в 25%
- Лимит в 5%
- Лимит в 1%
На одно ядро:
- Без ограничений
- Лимит в 50%
- Лимит в 25%
- Лимит в 5%
- Лимит в 1%
На всех VPN серверах применялись настройки из коробки и был включен NAT. Все виртуальные машины находятся на одном хосте и на одном и том же виртуальном свитче.
Для оценки работы сети было выполнено тестирование между сервером и клиентом без подключения по VPN.
Тест проводился с помощью TamoSoft Throughput Test в режиме TCP only, для таблиц и графиков были взяты значения «ave». Данные собирались в течение 5 минут 30 секунд для каждого теста.
Для большего понимания лимитов обеих реализаций, сначала протестируем пропускную способность виртуального свитча на разной частоте ядра.
Так выглядели результаты в программе тестирования. Далее все результаты будут обёрнуты в таблицы.
Как видим, виртуальный свитч не является узким местом в тестировании и почти выдаёт теоретический предел в 10 гигабит.
Как «Физически» выглядела тестовая сеть
Результаты:
На одно ядро:
В дисциплине на одно ядро оба сервера идут вровень.
На 4 ядра:
На 8 ядер:
Тут мы явно видим какое решение лучше всего масштабируется от количества ядер. Снизив производительность каждого из ядер, RRAS компенсировал потери их количеством, чего не сделал SoftEther.
Потребление оперативной памяти системой
Объем оперативной памяти потребляемой SoftEther возрос от количества ядер, со 122 до 177 МБ, но всё равно меньше, чем у RRAS.
Сама служба RRAS весит в памяти около 200 мегабайт, за вычетом общего потребление системы.
Пропускная способность в разных условиях
Суммарная пропускная способность без каких-либо ограничений на процессор.
Если вы до сих пор не выбрали подходящее для вас решение, возможно, эта таблица поможет определиться с выбором. Приведена суммарная пропускная способность в режиме дефицита CPU.
Обратите внимание, что на четырёх и одном ядре производительность SoftEther«a выше, чем на восьми. Такая низкая производительность не встречается нигде, но само тестирование говорит о том, как действительно хорошо масштабируется алгоритм от количества ядер.
Заключение:
Подключиться к SoftEther при ограничении процессора не проходило с первого раза, пришлось сначала увеличивать лимит, подключаться и уже потом снижать лимит, это накладывает ограничение на его установку в совсем уж тонких средах. RRAS всегда логинил моментально.
Если у вас есть машина с большим количеством ядер, предпочтите RRAS. А для SoftEther«a можно, оставить и 4 ядра. Автор если бы и использовал его, то оставил для него лишь одно ядро.
Что и куда размещать — решайте сами. Если у вас есть 99 рублей на VPS с Windows Server на борту, оптимальным выбором все же будет именно RRAS.