Řešení 1:
Počet souborů a režie šifrování SSH jsou pravděpodobně největší překážky. U takového přenosu neuvidíte rychlost drátu.
Možnosti vylepšení zahrnují:
- Použití rsync+SSH s méně nákladným šifrovacím algoritmem (např.
-e "ssh -c arcfour"
) - Úplné odstranění šifrování přes přenos SSH pomocí něčeho jako HPN-SSH.
- Převody založené na blocích. Snímky,
dd
, odeslání/přijetí snímku ZFS atd. - Pokud se jedná o jednorázový nebo nepravidelný převod, použijte
tar
, netcat (nc
), mbuffer nebo nějakou kombinaci. - Zkontrolujte svůj CentOS
tuned-adm
nastavení. - Odstranění atime z připojení vašeho souborového systému. Zkoumání dalších možností připojení souborového systému.
- Vyrovnávací paměti pro odesílání a přijímání NIC.
- Ladění
rsync
příkaz. By-W
, má zde smysl možnost celé soubory? Je povolena komprese? - Optimalizujte svůj úložný subsystém pro typ přenosů (SSD, počet vřeten, mezipaměť řadiče RAID.)
Řešení 2:
Jak asi víte, kopírování velkého množství malých souborů (např. poštovní schránky ve formátu MailDir nebo podobně) rozhodně není nejlepší možností, jak využít rozhraní s vysokou šířkou pásma. SSH na to pravděpodobně také není nejlepší transportní protokol. Zkusil bych použít tar k vytvoření tarballu na zdrojovém hostiteli před jeho odesláním sekundárnímu hostiteli.
tar c /var/mail | ssh [email protected] 'tar x -C /var/backups'
Pokud potřebujete přírůstkovou zálohu, můžete zkusit -g
možnosti tar. Pokud stále potřebujete maximalizovat výkon, zkuste místo ssh použít netcat.
Jak skrýt heslo předané jako argument příkazového řádku?
Jak zadat název hostitele pro běžící kontejner?