最近公司的一个项目需要使用sftp来下载文件到Linux服务器,然后再通过AES解密,RSA验签,解压等操作读取数据然后插入到数据库中。
公司的sftp部署到了公网上,刚开始传输小文件的时候。sftp都是正常,没有发现什么异常情况。但是当文件达到600M时候,sftp就卡着不动了。我自己电脑上跑项目下载速度还是可以的,大约10min就可以了。但是Linux中卡死了,下载不完。
首先分析确认到底是sftp服务器限速还是,服务器速度慢。我自己通过sftp root@XXX.XXX.XXX.XXX 连接到sftp服务器,根据提示输入密码。就可以通过命令进行测速。cd /abc/bc 进入到指定目录,然后get a.txt /ad后面的/ab目录是本地服务器的目录。就可以看到get下载的速度,我本地电脑是800kb/s,Linux下载速度是54kb/s。因此,可以断定是Linux服务器和sftp传输速度太慢了。
检查一下sftp服务器和Linux传输的IP地址,如果两台服务器可以用内网的话就不要用公网,我一开始的时候不知道sftp服务器和Linux服务器在一个局域网中,导致我一直以为是Linux服务器参数配置的问题。后来将sftp地址改为内网IP以后,传输速度达到了32M/s,这速度真给力。
Linux 连接sftp 影响下载速度的因素
最新推荐文章于 2024-01-11 20:15:00 发布