V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yh648559276
V2EX  ›  问与答

下载服务器大批量小文件哪种方法最快

  •  
  •   yh648559276 · 327 天前 via Android · 2050 次点击
    这是一个创建于 327 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 在服务器上用 obsutil 工具下载 obs 里面的文件到服务器上,一共有 60g

    2. 然后再用 sftp 下回 win 本地,速度最快只有 600kb/s

    用什么下载方式才能把速度提起来呢?
    18 条回复    2024-01-05 14:28:32 +08:00
    liuguangxuan
        1
    liuguangxuan  
       327 天前
    试试打包成一个大文件呢。
    IvanLi127
        2
    IvanLi127  
       327 天前 via Android
    试试 rsync ?
    lsk569937453
        3
    lsk569937453  
       327 天前
    问题没看懂。
    1.有两个下载流程。一个是文件从 obs 到服务器,第二是文件从服务器到 win 本地。不知道你说的是哪个下载流程。
    2.如果 obs 和服务器的出口网速有限制的话,你再努力也是白搭阿。
    3.大批量下载文件的方法无非就是批量下载阿。你可能只是想求一个批量下载的工具?
    yh648559276
        4
    yh648559276  
    OP
       327 天前 via Android
    @liuguangxuan 用 tgz 打包很慢👀,60g 仅仅只是一个月的,还有其他月份的(崩溃)
    explore365
        5
    explore365  
       327 天前
    打包不压缩,http
    yh648559276
        6
    yh648559276  
    OP
       327 天前 via Android
    @lsk569937453 就是从文件服务器 sftp 下回本地的时候,不用 sftp 用其他方式
    AreYou0k
        7
    AreYou0k  
       327 天前
    找个多线程下载的软件试试呗, 比如 idm
    superrichman
        8
    superrichman  
       327 天前
    用 ftp 代替 sftp ,不加密传输能快很多
    dier
        9
    dier  
       327 天前
    官方不是还提供了一个 OBS Browser+ 吗,直接用这个工具试试呢
    laminux29
        10
    laminux29  
       327 天前
    当然是打包后再一次性传输,不然大部分时间开销会浪费在 HTTP 接口调用上,FTP 也有这个问题。

    SVN 、GIT 因为很早就遇到这个问题,所以他们已经对大量小文件做了优化,把这些零碎小文件都打包成流,传到服务器后再切分存储,所以 SVN 、GIT 提交大量小文件的速度会非常快。
    yestodayHadRain
        11
    yestodayHadRain  
       327 天前   ❤️ 1
    @dier OBS Browser+ 在处理大批量小文件的时候性能是不如 obsutil 的,文件比较大的时候不考虑带宽速度可能会差十倍以上

    op 用 obsutil 下载到服务器如果服务器在阿里云这个过程是可以走内网的带宽比较大,但是用 sftp 下载到本地这个会走服务器的出网带宽 速度会受限于服务器的公网带宽,600kb/s 可能公网带宽只有 5M 左右。op 为什么非要从服务器这里过一下,直接本地下载 oss 里的资源不行吗?
    lvdream
        12
    lvdream  
       327 天前
    拆分,然后多线程 scp 下载呢
    yestodayHadRain
        13
    yestodayHadRain  
       327 天前
    @yestodayHadRain 文件数量比较大的时候
    fordoo
        14
    fordoo  
       327 天前
    直接本地下载,如果非要服务器过一遍,那服务器负责打包成 tar ,回传到 obs 再本地下载,可以充分利用 obs 的公网带宽
    wangwaner
        15
    wangwaner  
       327 天前 via iPhone
    syncthing 同步试试看?我用这个同步两台服务器爬的几十万张图片啥的,只有刚开始同步数据量大慢一些后面就无感同步了。
    libook
        16
    libook  
       327 天前
    ssh 两部分比较占性能,一个是加密,另一个是压缩。你看看是不是加密算法硬件支持不好或者太复杂;然后看看是不是硬件跑压缩性能不够,带宽够大的话把压缩关了试试。

    根据之前调研的压测数据来看,ssh 还是比 smb 性能要好的,当然比不过不加密的协议如 nfs ,如果你确保网络环境安全的话也可以考虑 nfs 。

    另外 i 也可以看看是不是远端或本地的磁盘 IO 有问题,比如碎片太多。
    poopoopoopoo
        17
    poopoopoopoo  
       327 天前
    内网下载 打包上传 OBS 公网流量下载 这样最快
    pen1120
        18
    pen1120  
       326 天前 via iPhone
    流式压缩并传送
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5819 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 03:19 · PVG 11:19 · LAX 19:19 · JFK 22:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.