Имеет ли значение WSL1 и WSL2, если бы я использовал его только для SSH-соединения?

Приношу извинения за лень: если моя цель — просто удаленно подключиться к другим серверам через SSH, влияет ли «обновление» с WSL1 на WSL2 на производительность?

Два основных варианта использования:

  1. При обратном туннелировании откройте удаленный порт локального компьютера для доступа через браузер (подумайте о Jupyternotebook и, скажем, о хостинге сайтов Django);
  2. Непосредственно через SSH (в терминале Windows) используйте Tmux + какой-нибудь редактор для управления кодом.

1 ответ

Какой замечательный вопрос — я, честно говоря, никогда раньше не задумывался о разнице в скорости сети между WSL1 и WSL2, да и лично в этом не было необходимости.

Ответ, по-видимому, — да , соединение SSH через WSL2 оказывается намного быстрее, чем то же самое в WSL1.

Для проверки я установилpvв экземпляре WSL1 и WSL2 и:

      yes | pv | ssh $host "cat > /dev/null"

Хост представляет собой размещенный виртуальный сервер.

  • Скорость WSL1 составляла около 34 МБ/с в лучшем случае, но местами падала до 27 МБ/с.
  • WSL2 стабильно работал со скоростью 110–111 МБ/с.

Я еще раз повторил тесты на свежеустановленной (иupdated/upgraded) Экземпляр Ubuntu 20.04, выполняющийwsl --set-version Ubuntu 1после теста WSL2.

Результаты там были практически такими же, но скорость для WSL1 осталась на уровне 27 МБ/с. WSL2 по-прежнему имел скорость 111 МБ/с.

Просто ради развлечения ( не корректное сравнение) я запустил:

      yes | pv | pwsh.exe -c "ssh $host 'cat > /dev/null'"

Чтобы передать трафик через PowerShell к SSH-клиенту Windows. Это, конечно, должно пересекать границу процесса между Windows и WSL при каждом вызове, поэтому возникает гораздо больше накладных расходов. Результаты там были:

  • Около 20 МБ/с на WSL1
  • Около 17 МБ/с на WSL2

Это неудивительно, поскольку WSL1 работает ближе к Windows API, чем WSL2.

На самом деле я немного удивлен основной разницей между WSL1 и WSL2. Честно говоря, я ожидал, что WSL1 будет иметь преимущество в производительности, поскольку он разделяет сеть с Windows, а не использует NAT за виртуальным интерфейсом и коммутатором.

Другие вопросы по тегам