Cada minuto que o backup passa enviando dados é um minuto a mais dividindo o servidor com os sites, numa janela noturna que cresce com o número de contas. O teto de ~90 MB/s por conexão SSH, medido no Laboratório 05, vem da rede ou da criptografia que o SSH usa por padrão?
Por que isso importa para quem administra o servidor
- Só trocar a cifra levou uma conexão de 78 para 245 MB/s: sem hardware novo, sem rede nova. Com 4 conexões, 867 MB/s.
- O Salvo já usa essa cifra. Ferramentas que usam o SSH na configuração padrão, como o rsync, ficam na mais lenta, a menos que alguém troque à mão: é velocidade que o servidor já tem e não usa.
Ver os dados em tabela
| Conexões | Cifra | Total |
|---|---|---|
| 1 | padrão do OpenSSH (chacha20-poly1305) | 78 MB/s |
| 1 | aes128-gcm | 245 MB/s |
| 2 | padrão | 184 MB/s |
| 2 | aes128-gcm | 495 MB/s |
| 4 | aes128-gcm | 867 MB/s |
Método
O mesmo par de máquinas do Laboratório 05: servidor cPanel de testes (CentOS 7, OpenSSH 7.4) enviando para um storage de backup com ZFS na rede interna.
Arquivo de 2 GB com dados aleatórios, enviado por SSH e descartado no destino, para o disco não entrar na conta.
Rodado depois que o último backup do horário terminou.
O que decidimos
O Salvo usa o SSH da linguagem Go, que já escolhe primeiro o aes128-gcm, a cifra acelerada pelo processador. Ferramentas que usam o OpenSSH com a configuração padrão, como o rsync, ficam na cifra mais lenta nesse caminho, a menos que alguém troque a cifra na mão.