Rumah pangkalan data tutorial mysql 使用tar+lz4/pigz+ssh更快的数据传输

使用tar+lz4/pigz+ssh更快的数据传输

Jun 07, 2016 pm 05:34 PM
ssh

前面一篇介绍了如何最大限度的榨取SCP的传输速度,有了这个基础,就可以进一步的使用压缩来加速传输速度了。只使用scp,传输速率

前面一篇介绍了如何最大限度的榨取SCP的传输速度,有了这个基础,就可以进一步的使用压缩来加速传输速度了。只使用scp,传输速率最快约90MB,本文通过压缩将把最快传输速率提升到约250MB/s(包括解压的过程)。

目录

  • 1. 结论
  • 2. 关于lz4
  • 3. 性能环境说明
  • 4. 实验测试
  • 4.1 分析
  • 1. 结论

    使用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. 关于lz4

    lz4是一个让"人见人爱、花见花开"的压缩算法,能够在多核上很好的扩展,压缩速度和压缩比并没有太大优势(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),但是在解压速度上有这惊人的优势。

    linux

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    Repo: Cara menghidupkan semula rakan sepasukan
    1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
    1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Telnet dalam Tutorial Lengkap Windows 11 [Pemasangan/Pendayaan dan Penyelesaian Masalah] Telnet dalam Tutorial Lengkap Windows 11 [Pemasangan/Pendayaan dan Penyelesaian Masalah] May 22, 2023 pm 09:35 PM

    <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. &

    Bagaimana untuk SSH dari iPad ke Mac Bagaimana untuk SSH dari iPad ke Mac Apr 14, 2023 pm 12:22 PM

    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

    Pengaturcaraan pelayan Python: Menggunakan Paramiko untuk melaksanakan operasi jauh SSH Pengaturcaraan pelayan Python: Menggunakan Paramiko untuk melaksanakan operasi jauh SSH Jun 18, 2023 pm 01:10 PM

    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

    OpenSSH pada Windows: Panduan Pemasangan, Konfigurasi dan Penggunaan OpenSSH pada Windows: Panduan Pemasangan, Konfigurasi dan Penggunaan Mar 08, 2024 am 09:31 AM

    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

    Bagaimana untuk menyambung ke pangkalan data Mysql dari jauh menggunakan Python berdasarkan ssh Bagaimana untuk menyambung ke pangkalan data Mysql dari jauh menggunakan Python berdasarkan ssh May 27, 2023 pm 04:07 PM

    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#.

    Adakah linux disertakan dengan ssh? Adakah linux disertakan dengan ssh? Apr 06, 2023 pm 03:55 PM

    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.

    Konfigurasi kepercayaan bersama log masuk SSH Linux Konfigurasi kepercayaan bersama log masuk SSH Linux Feb 19, 2024 pm 07:48 PM

    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

    Pasang SSH pada pelayan Linux Debian11, cipta pengguna baharu dan benarkan log masuk jauh SSH, dan konfigurasikan log masuk selamat SSH! Pasang SSH pada pelayan Linux Debian11, cipta pengguna baharu dan benarkan log masuk jauh SSH, dan konfigurasikan log masuk selamat SSH! Mar 01, 2024 pm 07:16 PM

    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

    See all articles