什么时候需要网络文件系统 ?

  • 做嵌入式的同学经常会使用 NFS 将 host 上的某个目录挂载到开发板上,方便 host 上编译构建后能直接在板子上运行,减少手工拷贝操作。
  • 网站开发时,在 host 上利用 IDE 进行开发后,发到线上机器上运行测试时,使用网络文件系统能更快的减少数据同步,提高开发效率。
  • C/C++ 等大型项目开发时,团队使用统一的开发机构建代码时,使用网络文件系统能够挂载开发机文件到本地,你可以方便的使用易用的图形化编辑器写代码。
  • 各种各样的原因,你需要使用网络文件系统,但是你的网络够快吗?网路文件系统还能再快吗?

NFS 还是 SSHFS ?

  • 笔者用过 NFS,也用过 SSHF,都挺不错。但是在网络条件不理想的时候,卡顿现象非常明显。
  • 网络条件不够理想时使用图形化的软件编辑远程文件体验很差,尤其是使用 oh my zsh 这样重量级的插件工作在远端的目录时。
  • 网上曾有人对比过 NFS 和 SSHFS (http://www.admin-magazine.com/HPC/Articles/Sharing-Data-with-SSHFS),SSHFS 确实相对来说很不错。
  • 直到笔者用上了 oxfs 以后,这个问题终于缓解了 :)

Oxfs 介绍

  • Oxfs 是一个类似与 SSHFS 的用户态网络文件系统,底层数据传输基于 SFTP 协议。
  • Oxfs 引入异步刷新策略解决网络速度与用户操作文件速度不匹配引起的卡顿问题。
    • Oxfs 写文件时,会首先写入本地缓存文件,并提交异步更新任务将内容更新到远程主机上。
    • 同样的,读文件时优先从本地缓存文件中进行读取。
    • Oxfs 的数据缓存最终落到磁盘,即便是重新挂载,依旧可以利用历史缓存。
  • 同样的,Oxfs 也引入了文件属性,目录结构的 Memory 缓存,功能上对齐了 SSHFS。
  • 可以说,Oxfs 是替代 SSHFS 的一个更好选择 :)

Oxfs 用法

  • Oxfs 的安装非常简单。
$ pip install oxfs
  • Oxfs 的用法也很简单。
$ mkdir remote
$ sudo oxfs -s user@xxx.xxx.xxx.xxx -m remote -r /home/oxfs -p /tmp/oxfs
  • -s 配置远程主机访问的地址和用户,要求远程主机上配置了当前机器的 SSH 公钥。
  • -m 设置本地挂载点。
  • -r 设置要挂载到本地的远程主机目录。
  • -p 设置 Oxfs 运行时工作目录,用于数据缓存。

Oxfs 性能


  • Oxfs vs Sshfs

  • Sshfs performance (default parameters).

    • Sshfs enable the kernel cache by default, that's why re-read is deadly fast.

  • Oxfs performance (default parameters).

    • Oxfs just enable the fuse auto_cache flag.


更多详情,可以访问 Oxfs 主页:oxfs.io


我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1wjy7f6lv2t1c

上手更快的网络文件系统 —— oxfs的更多相关文章

  1. 更快的网络文件系統 — Oxfs

    什麽时候需要网络文件系统 ? 做嵌入式的同学经常会使用 NFS 将 host 上的某个目录挂载到开发板上,方便 host 上编译构建后能直接在板子上运行,减少手工拷贝操作.网站开发时,在 host 上 ...

  2. Retrofit 2.0基于OKHttp更高效更快的网络框架 以及自定义转换器

    时间关系,本文就 Retrofit 2.0的简单使用 做讲解  至于原理以后有空再去分析 项目全面.简单.易懂  地址: 关于Retrofit 2.0的简单使用如下:  https://gitee.c ...

  3. 利用1.1.1.1进行DNS网络加速,仅需2分钟让网络更快

    NEWS 近日,Cloudflare 和 APNIC联合推出了1.1.1.1DNS网络加速. Cloudflare 运行全球规模最大.速度最快的网络之一.APNIC 是一个非营利组织,管理着亚太和大洋 ...

  4. Wi-Fi 6 与 5G 相比哪个更快?

    随着 iPhone12 的发布,iOS 系统正式开始拥抱 5G,智能手机全面进入了 5G 时代.伴随着各大运营商的 5G 推广以及相关基站建设的如火如荼,5G 成了大家广泛讨论的热门词汇.这样热门的光 ...

  5. 翻译:让网络更快一些——最小化浏览器中的回流(reflow)

    关于reflowreflow(英音:[ri:’fləu] 美音:[ri’flo])在词典中的解释是回流,逆流.而在web应用中,翻译为回流有些牵强.我个人觉得,理解为回炉(重新塑形),似乎更加形象一点 ...

  6. 使用QFileInfo类获取文件信息(在NTFS文件系统上,出于性能考虑,文件的所有权和权限检查在默认情况下是被禁用的,通过qt_ntfs_permission_lookup开启和操作。absolutePath()必须查询文件系统。而path()函数,可以直接作用于文件名本身,所以,path() 函数的运行会更快)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Amnes1a/article/details/65444966QFileInfo类为我们提供了系统无 ...

  7. 全网最热Python3入门+进阶 更快上手实际开发✍✍✍

    全网最热Python3入门+进阶 更快上手实际开发  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问 ...

  8. EdgeFormer: 向视觉 Transformer 学习,构建一个比 MobileViT 更好更快的卷积网络

    ​  前言 本文主要探究了轻量模型的设计.通过使用 Vision Transformer 的优势来改进卷积网络,从而获得更好的性能. 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结.最新技术跟 ...

  9. 让DB2跑得更快——DB2内部解析与性能优化

    让DB2跑得更快——DB2内部解析与性能优化 (DB2数据库领域的精彩强音,DB2技巧精髓的热心分享,资深数据库专家牛新庄.干毅民.成孜论.唐志刚联袂推荐!)  洪烨著 2013年10月出版 定价:7 ...

随机推荐

  1. Win7 32bit下一个hadoop2.5.1源代码编译平台的搭建各种错误遇到

    从小白在安装hadoop困难和错误时遇到说起,同时,我们也希望能得到上帝的指示. 首先hadoop更新速度非常快,最新的是hadoop2.5.1,因此就介绍下在安装2.5.1时遇到的各种困难. 假设直 ...

  2. 假设做一个循环滚动UIScrollView

    先上效果图: 首先初始化: - (void)viewDidLoad { //加入最后一张图 用于循环 int length = 4; NSMutableArray *tempArray = [NSMu ...

  3. Mac版Visual Studio预览版

    来了,Mac版Visual Studio预览版开放下载 投递人 itwriter 发布于 2016-11-17 12:11 评论(7) 有1317人阅读 原文链接 [收藏] « » 微软前俩天宣布,推 ...

  4. OpenGL(二十三) 各向异性纹理过滤

    如果使用一般的纹理过滤,当观察方向跟模型表面不是相互垂直的的情况下,会出现纹理信息的丢失,表现为图像看上去比较模糊,如下图所示,远处场景的细节信息很差: 针对这种情况,可以采用同向异性过滤的方式处理纹 ...

  5. WPF 判断值是不是NaN

    原文:WPF 判断值是不是NaN 经常要在StoryBoard用到的 判断方法: Double.IsNaN(你要判断的值)= true// NaN 否则就不是.

  6. cat监控平台环境搭建 专题

    项目地址:https://github.com/dianping/cat 编译步骤: 这个项目比较另类,把编译需要的jar包,单独放在git分支mvn-repo里了,而且官方文档里给了一个错误的命令提 ...

  7. qt 透明度设置(setWindowOpacity 和 setAutoFillBackground 和 带透明度的画刷填充就好了)

    1,父窗口透明// 设置背景图片 QPalette pa;setAutoFillBackground(true);pa.setBrush(QPalette::Background,QBrush(QPi ...

  8. Call asynchronous method in constructor

    using System; using System.ComponentModel; using System.Threading.Tasks; public sealed class NotifyT ...

  9. C++中类的继承与Java中的不同,C++的派生类不能继承父类的构造函数和析构函数(不一定正确)

    http://blog.csdn.net/guodongxiaren/article/details/24885023

  10. WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂

    原文:WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂 先上效果图 正常样式 拖动时样式 好下面 开始吧 ==================================== ...