使用tar+lz4/pigz+ssh更快的数据传输
前面一篇介绍了如何最大限度的榨取SCP的传输速度,有了这个基础,就可以进一步的使用压缩来加速传输速度了。只使用scp,传输速率
前面一篇介绍了如何最大限度的榨取SCP的传输速度,有了这个基础,就可以进一步的使用压缩来加速传输速度了。只使用scp,传输速率最快约90MB,本文通过压缩将把最快传输速率提升到约250MB/s(包括解压的过程)。
目录
使用tar+lz4+ssh的方式能够获得最大的传输性能:
time tar -c sendlog/|pv|lz4 -B4|ssh -c arcfour128 \ -o"MACs umac-64@openssh.com" 10.xxx.xxx.36 "lz4 -d |tar -xC /u01/backup_supu" 3.91GiB 0:00:16 [ 249MiB/s] real 0m16.067s user 0m15.553s sys 0m16.821s
249MB/s,妥妥的。是最原始scp(40MB/s)的6倍,原来400GB传输需要约3小时,现在只需要27分钟了。
注1:lz4在解压方面的优异表现,使得他在本案例中非常重要。如果无需解压的传输,则可以考虑使用pigz/pbiz2
注2:使用pv观察,网络流量约80MB,所以使用nc替换ssh并不会有明显的性能提升
注3:lz4压缩使用-B4(64KB块大小),解压使用-B7(4MB块大小),是本案例的测试最优值
2. 关于lz4lz4是一个让"人见人爱、花见花开"的压缩算法,能够在多核上很好的扩展,压缩速度和压缩比并没有太大优势(pigz),但是他的解压速度非常惊人,本案例测试lz4的解压是gunzip的3倍(更多的对比测试)。因为压缩时高效的多核利用,,再加上惊艳的解压,lz4已经在非常多重要场合使用了:Linux3.11内核实现了LZ4,并可以使用其压缩和解压kernel image HBase:Add an LZ4 compression option to HFile等等(参考)。
对于需要频繁压缩、实时快速解压的场景来说,lz4非常适合。
3. 性能环境说明这里使用同上一篇文章相同的两台主机环境:ping获得RTT是17ms;使用iperf测试带宽是115MB(参考附录);
整个过程有几个阶段:磁盘读取-->打包(tar)-->压缩-->传输-->解压缩-->拆包-->落盘 对应了的速度测试:
3.1 磁盘读取和落盘磁盘读取(有page cache),能到3GB/s;磁盘写入约428MB:
# dd if=./sendlog.tar of=/dev/null bs=4096 count=1048576 1024002+1 records in 1024002+1 records out 4194314240 bytes (4.2 GB) copied, 1.33946 s, 3.1 GB/s # dd if=/dev/zero of=./x.zero.file bs=4096 count=1048576 1048576+0 records in 1048576+0 records out 4294967296 bytes (4.3 GB) copied, 10.0306 s, 428 MB/s
3.2 打包、拆包打包和拆包速度都大于350MB/s:
# time tar -cf sendlog.tar ./sendlog/ real 0m10.996s # time tar -xf sendlog.tar real 0m11.564s
3.3 压缩、解压缩关于各个压缩工具的性能(压缩、解压、压缩率)已经有很多人做了比较,本文不做详细讨论,这里选择gzip/pigz lz4 bzip做本测试的比较:
| input speed | output speed | rate | speed of decoder pigz -p 16 | 327.0MB/s | 57.2MB/s | 17.5% | 95 MB/s lz4 | 288.0MB/s | 79.2MB/s | 27.5% | 264 MB/s bzip2 | 4.9MB/s | 0.65MB/s | 13.1% | 25.6MB /s压缩工具的比较测试参考:
可以看到,lz4在压缩率上略微逊色(对比pigz),但是在解压速度上有这惊人的优势。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen


![Vollständiges Tutorial zu Telnet in Windows 11 [Installation/Aktivierung und Fehlerbehebung]](https://img.php.cn/upload/article/000/000/164/168476253791019.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
<p>Telnet ist die Abkürzung für „Terminal Network“. Es handelt sich um ein Protokoll, mit dem Benutzer einen Computer mit einem lokalen Computer verbinden können. </p><p>Hier bezieht sich der lokale Computer auf das Gerät, das die Verbindung initiiert, und der mit dem lokalen Computer verbundene Computer wird als Remote-Computer bezeichnet. </p><p>Telnet läuft auf einem Client/Server-Prinzip und obwohl es veraltet ist, wird es auch im Jahr 2022 immer noch von vielen Menschen verwendet. Viele Menschen sind bereits auf das Betriebssystem Windows 11 umgestiegen, das neueste Betriebssystem von Microsoft. &

So führen Sie eine SSH-Verbindung vom iPad zum Mac durch Dies ist eine zweiteilige exemplarische Vorgehensweise. Zuerst aktivieren Sie den SSH-Server auf Ihrem Mac und verwenden dann die SSH-Client-App, um von Ihrem iPad aus eine Verbindung zu ihm herzustellen. Starten Sie auf einem Mac einen SSH-Server. Sie können einen SSH-Server auf Ihrem Mac aktivieren, indem Sie eine Funktion namens „Remote-Anmeldung“ aktivieren. Gehen Sie zu Apple-Menü > Systemeinstellungen > Freigabe > „Remote-Anmeldung“ aktivieren und aktivieren Sie das Kontrollkästchen „Remote-Benutzern vollen Zugriff auf die Festplatte erlauben“. Ihr Mac ist jetzt ein SSH-Server, der Ihnen eine Shell bietet, über die Sie eine Verbindung von Ihrem iPad aus herstellen können. Beachten

Mit der Entwicklung des Cloud Computing und des Internets der Dinge hat die Fernbedienung von Servern immer mehr an Bedeutung gewonnen. In Python können wir das Paramiko-Modul verwenden, um SSH-Remote-Operationen einfach zu implementieren. In diesem Artikel stellen wir die grundlegende Verwendung von Paramiko und die Verwendung von Paramiko in Python zur Fernverwaltung von Servern vor. Was ist Paramiko Paramiko ist ein Python-Modul für SSHv1 und SSHv2, mit dem SSH-Clients verbunden und gesteuert werden können

Für die meisten Windows-Benutzer war Remote Desktop Protocol (RDP) schon immer die erste Wahl für die Fernverwaltung, da es eine benutzerfreundliche grafische Oberfläche bietet. Für Systemadministratoren, die eine detailliertere Kontrolle benötigen, ist SSH jedoch möglicherweise besser geeignet. Über SSH können Administratoren über die Befehlszeile mit Remote-Geräten interagieren, was die Verwaltungsarbeit effizienter gestalten kann. Der Vorteil von SSH liegt in seiner Sicherheit und Flexibilität, die es Administratoren erleichtert, Remote-Verwaltungs- und Wartungsarbeiten durchzuführen, insbesondere wenn sie mit einer großen Anzahl von Geräten arbeiten oder automatisierte Aufgaben ausführen. Während sich RDP in puncto Benutzerfreundlichkeit auszeichnet, ist SSH für Systemadministratoren hinsichtlich Leistung und Kontrolle überlegen. Bisher mussten Windows-Benutzer etwas ausleihen

Hintergrund Wenn Sie auf die MySQL-Datenbank eines Remote-Servers zugreifen müssen, die Sicherheitsmaßnahmen jedoch für den Sicherheitszeitraum der MySQL-Datenbank so eingestellt sind, dass nur lokale Verbindungen zugelassen werden (d. h. Sie müssen sich beim Server anmelden, um sie verwenden zu können). Auf andere Remoteverbindungen kann nicht direkt zugegriffen werden. Der entsprechende Port wurde ebenfalls geändert, sodass Sie eine Verbindung zur Datenbank basierend auf SSH herstellen müssen. Das Herstellen einer Verbindung zur Datenbank entspricht auf diese Weise der Schnittstelle in Navicat, die auf einer SSH-Verbindung basiert. Navicat stellt eine Verbindung zur Datenbankinstallationsunterstützungsbibliothek her. Wenn Sie eine Verbindung zu MySQL herstellen möchten, müssen Sie zuerst pymysqlpipinstallpymysql installieren, um die SSH-basierte Bibliothek sshtunnelpipinstallsshtunnel# zu installieren.

1. Der Zweck des gegenseitigen SSH-Vertrauens 1. Beim Aufbau eines Clusters ist gegenseitiges SSH-Vertrauen erforderlich, was einem bequemen Betrieb auf einem anderen Knoten förderlich ist. 2. Wenn Sie den SCP-Remote-Kopiervorgang verwenden, müssen Sie den Benutzernamen und das Kennwort des Zielservers eingeben. Zu diesem Zeitpunkt können Sie die gegenseitige SSH-Vertrauensstellung zwischen Linux-Servern konfigurieren, sodass Sie sich beim Betrieb zwischen mehreren Servern ohne Kennwort anmelden können Linux-Server. 2. Das Prinzip der gegenseitigen SSH-Vertrauenskonfiguration Kurz gesagt: Der Server speichert das Zertifikat des Zielhosts, sodass die Authentifizierung automatisch durchgeführt werden kann, ohne dass ein Kennwort eingegeben werden muss. 3. Schritte zur Konfiguration der gegenseitigen SSH-Vertrauensstellung 1. Jeder Knoten generiert sein eigenes öffentliches Schlüssel- und privates Schlüsselpaar. 2. Senden Sie Ihre öffentliche Schlüsseldatei an die andere Partei. 3. Überprüfen Sie, ob die gegenseitige Vertrauenskonfiguration erfolgreich ist. 4. Konfigurieren Sie hier die gegenseitige SSH-Vertrauensstellung mit MYDB01 und

Linux wird mit SSH geliefert. Das Linux-System wird mit seiner eigenen SSH-Software geliefert, und der SSH-Dienst wird automatisch beim Booten hinzugefügt. Sie können den Befehl „ssh -V“ verwenden, um die installierten SSH-Versionsinformationen anzuzeigen. Führen Sie den Befehl „systemctl start sshd“ aus, um den SSHD-Dienst zu starten. Der Standardport ist Port 22.

CentOS7.9 ist eine sehr häufig verwendete Betriebssystemversion beim Erstellen von Servern oder bei der Systemverwaltung. In diesem Artikel finden Sie detaillierte Schritte und Anweisungen zur Installation von CentOS7.9 und zur Installation von SSH. CentOS7.9 ist ein kostenloses und quelloffenes Linux-Betriebssystem. Es handelt sich um eine binärkompatible Version, die auf Red Hat Enterprise Linux (RHEL) basiert. Die folgenden Schritte sind für die Installation von CentOS7.9 erforderlich: 1. Sie müssen die ISO-Image-Datei herunterladen von CentOS7.9. Sie können es von der offiziellen CentOS-Website herunterladen. 2. Erstellen Sie eine neue virtuelle Maschine oder physische Maschine auf Ihrem Computer und installieren Sie sie
