Имеет ли значение WSL1 и WSL2, если бы я использовал его только для SSH-соединения?
Приношу извинения за лень: если моя цель — просто удаленно подключиться к другим серверам через SSH, влияет ли «обновление» с WSL1 на WSL2 на производительность?
Два основных варианта использования:
- При обратном туннелировании откройте удаленный порт локального компьютера для доступа через браузер (подумайте о Jupyternotebook и, скажем, о хостинге сайтов Django);
- Непосредственно через 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 за виртуальным интерфейсом и коммутатором.