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

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)
![Windows 11 中的 Telnet 完整教學 [安裝/啟用與故障排除]](https://img.php.cn/upload/article/000/000/164/168476253791019.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
<p>Telnet是「終端網路」的簡稱。它是用戶可以用來將一台電腦連接到本機的協定。 </p><p>這裡,本機是指啟動連線的設備,而連接到本機的電腦稱為遠端電腦。 </p><p>Telnet在客戶端/伺服器主體上運行,雖然它已經過時,但在2022年它仍然被許多人使用。許多人已經轉向Windows11作業系統,這是微軟提供的最新作業系統。 &

如何從 iPad SSH 到 Mac這是一個兩部分的演練。首先,您將在 Mac 上啟用 SSH 伺服器,然後您將使用 ssh 用戶端應用程式從 iPad 連接到它。在 Mac 上,啟動 SSH 伺服器您可以透過開啟名為 Remote Login 的功能在 Mac 上啟用 SSH 伺服器。前往 Apple 選單 > 系統偏好設定 > 共用 > 啟用“遠端登入”,並選取“允許遠端使用者完全存取磁碟”框Mac 現在是一個 SSH 伺服器,為您提供從 iPad 連接的 shell。注意

隨著雲端運算和物聯網的發展,遠端操作伺服器變得越來越重要。在Python中,我們可以使用Paramiko模組來輕鬆實現SSH遠端操作。在本文中,我們將介紹Paramiko的基本用法,以及如何在Python中使用Paramiko來遠端管理伺服器。什麼是ParamikoParamiko是一個用於SSHv1和SSHv2的Python模組,可以用於連接和控制SSH客戶

對於大多數Windows使用者來說,遠端桌面協定(RDP)一直是遠端管理的首選,因為它提供了友善的圖形介面。然而,對於那些需要更精細控制的系統管理員來說,SSH更適合他們的需求。透過SSH,管理員可以透過命令列與遠端設備進行交互,這樣可以讓管理工作更有效率。 SSH的優勢在於其安全性和靈活性,使得管理員能夠更方便地進行遠端管理和維護工作,尤其是在處理大量設備或進行自動化任務時。因此,儘管RDP在使用者友善性方面表現出色,但對於系統管理員來說,SSH的功能和控制力更勝一籌。以前,Windows用戶需要藉

背景如果需要訪問遠端伺服器的Mysql資料庫,但是該Mysql資料庫為了安全期間,安全措施設定為只允許本地連接(也就是你需要登入該伺服器才能使用),其他遠端連線是不可以直接訪問,並且對應的連接埠也做了修改,那麼就需要基於ssh來連接該資料庫。這種方式連接資料庫與Navicat裡面介面化基於ssh連接一樣。 Navicat連接資料庫安裝支援庫如果要連接Mysql,首先需要安裝pymysqlpipinstallpymysql安裝基於ssh的函式庫sshtunnelpipinstallsshtunnel#

1.做ssh互信的目的1.在做集群的時候是需要SSH互信,它有利於在另一節點方便操作。 2.使用scp遠端拷貝操作時,需要輸入目標伺服器的使用者名稱和密碼,這個時候可以做linux伺服器之間ssh互信配置,這樣在多個linux伺服器之間做操作時就可以免密登陸。 2.ssh互信配置的原理簡而言之,伺服器儲存目標主機的證書,以便自動完成認證,無需輸入密碼。 3.ssh互信設定步驟1、各節點產生自己的公鑰、私鑰對。 2、將自己的公鑰文件寄給對方。 3.驗證互信配置是否成功。 4.配置ssh互信這裡以MYDB01和

檢查方法:1、用文字編輯器開啟“/etc/ssh/sshd_config”,查看“Protocol”字段,若顯示“Protocol 2”就代表伺服器只支援SSH2,若顯示“Protocol 1”就代表伺服器同時支援兩者。 2.強制ssh使用特定的SSH協議,透過查看SSH伺服器的回應來判斷。 3.使用scanssh工具,語法「sudo scanssh -s ssh ip位址」。

在進行伺服器建置或系統管理時,CentOS7.9是一個非常常用的作業系統版本,本文將為您提供關於CentOS7.9安裝以及安裝SSH的詳細步驟和說明。 CentOS7.9是一個免費且開源的Linux作業系統,它是基於RedHatEnterpriseLinux(RHEL)的二進位相容版本,以下是CentOS7.9安裝的步驟:1.您需要下載CentOS7.9的ISO鏡像文件,您可以從CentOS官方網站下載最新的CentOS7.9ISO鏡像檔。 2.在您的電腦上建立一個新的虛擬機或實體機,並將
