Peça desculpas por ser preguiçoso aqui - se meu objetivo é simplesmente acessar outros servidores por SSH, "atualizar" de WSL1 para WSL2 faz diferença no desempenho?
Dois casos de uso principais:
- Com o tunelamento reverso, exponha uma porta remota ao computador local para acesso ao navegador (pense no Jupyternotebook e, digamos, hospedando sites Django);
- Diretamente sobre SSH (no Windows Terminal), use Tmux + algum editor para manipular o código.
Que ótima pergunta - eu honestamente nunca considerei a diferença de velocidade da rede entre WSL1 e WSL2 antes, nem tive a necessidade pessoalmente.
A resposta, aparentemente, é sim , uma conexão SSH sobre WSL2 parece ser muito mais rápida que a mesma em WSL1.
Para testar, instalei
pv
em uma instância WSL1 e WSL2 e:Com o host sendo um servidor virtual hospedado.
Repeti os testes novamente em uma instância do Ubuntu 20.04 recém-instalada (e
updated
/upgraded
), fazendo umwsl --set-version Ubuntu 1
teste após o WSL2.Os resultados foram praticamente os mesmos, mas ficaram em torno de 27MiB/s para o WSL1. WSL2 ainda estava certo em 111MiB/s.
Apenas por diversão ( não é uma comparação válida), eu corri:
Para enviar o tráfego por meio do PowerShell para o cliente SSH do Windows. Isso, é claro, precisa cruzar a fronteira do processo entre o Windows e o WSL em cada chamada, portanto, há muito mais sobrecarga. Os resultados ali foram:
Isso não é surpreendente, pois o WSL1 é executado mais próximo da API do Windows do que o WSL2.
Na verdade, estou um pouco surpreso com a principal diferença entre WSL1 e WSl2. Sinceramente, eu esperava que o WSL1 tivesse a vantagem de desempenho, pois ele compartilha a rede com o Windows em vez de ser NAT por trás de uma interface e switch virtualizados.