使用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),但是在解压速度上有这惊人的优势。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas
![Telnet dalam Tutorial Lengkap Windows 11 [Pemasangan/Pendayaan dan Penyelesaian Masalah]](https://img.php.cn/upload/article/000/000/164/168476253791019.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
<p>Telnet ialah singkatan daripada "Rangkaian Terminal". Ia adalah protokol yang boleh digunakan pengguna untuk menyambungkan satu komputer ke komputer tempatan. </p><p>Di sini, komputer tempatan merujuk kepada peranti yang memulakan sambungan dan komputer yang disambungkan ke komputer tempatan dipanggil komputer jauh. </p><p>Telnet dijalankan pada prinsipal klien/pelayan, dan walaupun ia sudah lapuk, ia masih digunakan oleh ramai orang pada tahun 2022. Ramai orang telah pun bertukar kepada sistem pengendalian Windows 11, iaitu sistem pengendalian terkini yang ditawarkan oleh Microsoft. &

Cara SSH dari iPad ke Mac Ini ialah panduan dua bahagian. Mula-mula, anda akan mendayakan pelayan SSH pada Mac anda, dan kemudian anda akan menggunakan aplikasi klien ssh untuk menyambung kepadanya daripada iPad anda. Pada Mac, mulakan pelayan SSH Anda boleh mendayakan pelayan SSH pada Mac anda dengan menghidupkan ciri yang dipanggil Log Masuk Jauh. Pergi ke Menu Apple > Keutamaan Sistem > Perkongsian > Dayakan "Log Masuk Jauh" dan tandai kotak "Benarkan pengguna jauh akses penuh ke cakera" Mac anda kini adalah pelayan SSH, memberikan anda cangkerang untuk disambungkan dari iPad anda. Notis

Dengan pembangunan pengkomputeran awan dan Internet of Things, pengendalian jauh pelayan telah menjadi semakin penting. Dalam Python, kita boleh menggunakan modul Paramiko untuk melaksanakan operasi jauh SSH dengan mudah. Dalam artikel ini, kami akan memperkenalkan penggunaan asas Paramiko dan cara menggunakan Paramiko dalam Python untuk mengurus pelayan dari jauh. Apakah Paramiko Paramiko ialah modul Python untuk SSHv1 dan SSHv2 yang boleh digunakan untuk menyambung dan mengawal klien SSH

Bagi kebanyakan pengguna Windows, Remote Desktop Protocol (RDP) sentiasa menjadi pilihan pertama untuk pengurusan jauh kerana ia menyediakan antara muka grafik yang mesra. Walau bagaimanapun, bagi pentadbir sistem yang memerlukan kawalan yang lebih terperinci, SSH mungkin lebih sesuai dengan keperluan mereka. Melalui SSH, pentadbir boleh berinteraksi dengan peranti jauh melalui baris arahan, yang boleh menjadikan pengurusan berfungsi dengan lebih cekap. Kelebihan SSH ialah keselamatan dan fleksibilitinya, memudahkan pentadbir melaksanakan kerja pengurusan dan penyelenggaraan jauh, terutamanya apabila berurusan dengan sejumlah besar peranti atau melaksanakan tugas automatik. Jadi sementara RDP cemerlang dari segi kemesraan pengguna, bagi pentadbir sistem, SSH lebih unggul dalam kuasa dan kawalan. Sebelum ini, pengguna Windows perlu meminjam

Latar Belakang: Jika anda perlu mengakses pangkalan data Mysql pelayan jauh, tetapi untuk tempoh keselamatan pangkalan data Mysql, langkah keselamatan ditetapkan untuk hanya membenarkan sambungan tempatan (iaitu, anda perlu log masuk ke pelayan untuk menggunakannya ), dan sambungan jauh lain tidak boleh diakses secara langsung, dan Port yang sepadan juga telah diubah suai, jadi anda perlu menyambung ke pangkalan data berdasarkan ssh. Menyambung ke pangkalan data dengan cara ini adalah sama seperti antara muka dalam Navicat berdasarkan sambungan ssh. Navicat menyambung ke perpustakaan sokongan pemasangan pangkalan data Jika anda ingin menyambung ke Mysql, anda perlu memasang pymysqlpipinstallpymysql untuk memasang perpustakaan berasaskan ssh sshtunnelpipinstallsshtunnel#.

Linux disertakan dengan ssh. Sistem Linux akan datang dengan perisian ssh sendiri Secara lalai ialah pakej perisian berkaitan OpenSSH, dan perkhidmatan ssh ditambah untuk bermula secara automatik semasa but Anda boleh menggunakan arahan "ssh -V" untuk melihat maklumat versi ssh yang dipasang. Jalankan arahan "systemctl start sshd" untuk memulakan perkhidmatan sshd Port lalai ialah port 22.

1. Tujuan ssh saling percaya 1. SSH saling percaya diperlukan apabila membina kelompok, yang kondusif untuk memudahkan operasi pada nod lain. 2. Apabila menggunakan operasi salinan jauh scp, anda perlu memasukkan nama pengguna dan kata laluan pelayan sasaran Pada masa ini, anda boleh mengkonfigurasi kepercayaan bersama SSH antara pelayan Linux, supaya anda boleh log masuk tanpa kata laluan apabila beroperasi antara berbilang. pelayan Linux. 2. Prinsip konfigurasi saling percaya ssh Secara ringkasnya, pelayan menyimpan sijil hos sasaran supaya pengesahan boleh diselesaikan secara automatik tanpa memasukkan kata laluan. 3. Langkah konfigurasi saling percaya SSH 1. Setiap nod menjana kunci awam dan pasangan kunci persendirian sendiri. 2. Hantar fail kunci awam anda kepada pihak lain. 3. Sahkan sama ada konfigurasi kepercayaan bersama berjaya. 4. Konfigurasikan ssh saling percaya di sini dengan MYDB01 dan

Langkah-langkah untuk memasang SSH pada pelayan Debian11 anda dan mencipta pengguna baharu untuk membenarkan log masuk jauh SSH adalah seperti berikut: Langkah 1: Pasang SSH Untuk memasang pelayan SSH, anda perlu log masuk ke pelayan Debian11 anda sebagai pengguna akar atau pengguna dengan keistimewaan sudo. Jalankan arahan berikut dalam terminal untuk memasang pelayan SSH: sudoaptupdatesudoaptinstallopenssh-server Langkah 2: Cipta pengguna baharu Untuk mencipta pengguna baharu, anda boleh menggunakan arahan adduser. Gantikan arahan berikut dengan nama pengguna yang anda inginkan: sudoaddusernew_username Anda akan digesa untuk menetapkan kata laluan pengguna baharu dan lain-lain
