更快的网络文件系統 — Oxfs
什麽时候需要网络文件系统 ?
做嵌入式的同学经常会使用 NFS 将 host 上的某个目录挂载到开发板上,方便 host 上编译构建后能直接在板子上运行,减少手工拷贝操作。
网站开发时,在 host 上利用 IDE 进行开发后,发到线上机器上运行测试时,使用网络文件系统能更快的减少数据同步,提高开发效率。
C/C++ 等大型项目开发时,团队使用统一的开发机构建代码时,使用网络文件系统能够挂载开发机文件到本地,你可以方便的使用易用的图形化编辑器写代码。
各种各样的原因,你需要使用网络文件系统,但是你的网络够快吗?网络文件系统还能再快吗?
小编用过 NFS,也用过 SSHF,都挺不错。但是在网络条件不理想的时候,卡顿现象非常明显。
网络条件不够理想时使用图形化的软体编辑远程文件体验很差,尤其是使用 oh my zsh 这样重量级的插件工作在远端的目录时。
网上曾有人对比过 NFS 和 SSHFS (http://www.admin-magazine.com/HPC/Articles/Sharing-Data-with-SSHFS),SSHFS 确实相对来说很不错。
直到用上了 Oxfs 以后,卡顿问题终于缓解了 :)
Oxfs 是一个类似与 SSHFS 的用户态网络文件系统,底层数据传输基于 SFTP 协议。
Oxfs 引入非同步刷新策略解决网络速度与用户操作文件读速度不匹配引起的卡顿问题。
Oxfs 写文件时,会首先写入本地缓存文件,并提交非同步更新任务将内容更新到远程主机上。
同样的,读文件时优先从本地缓存文件中进行读取。
Oxfs 的数据缓存最终落到磁碟,即便是重新挂载,依旧可以利用历史缓存。
同样的,Oxfs 也引入了文件属性,目录结构的 Memory 缓存,功能上对齐了 SSHFS。
可以说,Oxfs 是替代 SSHFS 的一个更好选择 :)
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
什么时候需要网络文件系统? 做嵌入式的同学经常会使用 NFS 讲 host 上的某个目录挂载到开发板上,方便 host 上编译构建后能直接在板子上运行,减少手工拷贝操作. 网站开发时,在 host 上 ...
- 精通Web Analytics 2.0 (9) 第七章:失败更快:爆发测试与实验的能量
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第七章:失败更快:爆发测试与实验的能量 欢迎来到实验和测试这个棒极了的世界! 如果Web拥有一个超越所有其他渠道的巨大优势,它就 ...
- 假如 UNION ALL 里面的子句 有 JOIN ,那个执行更快呢
比如: select id, name from table1 where name = 'x' union all select id, name from table2 where name = ...
- 【译】更快的方式实现PHP数组去重
原文:Faster Alternative to PHP’s Array Unique Function 概述 使用PHP的array_unique()函数允许你传递一个数组,然后移除重复的值,返回一 ...
- ubuntu 12.04 LTS 如何使用更快的更新源
装好ubuntu系统后的第一见事就是替换自带的更新源,原因是系统自带的源有些在中国访问不了,可以访问的速度又特别慢.幸好国内的一些公司和大学提供了速度不错的更新源.下面介绍如何使用更快的更新源 方法/ ...
- php提供更快的文件下载
在微博上偶然看到一篇介绍php更快下载文件的方法,其实就是利用web服务器的xsendfile特性,鸟哥的博客中只说了apache的实现方式,我找到了介绍nginx实现方式的文章,整理一下! let' ...
- CSS 和 JS 动画哪个更快
基于Javascript的动画暗中同CSS过渡效果一样,甚至更加快,这怎么可能呢?而Adobe和Google持续发布的富媒体移动网站的性能可媲美本地应用,这又怎么可能呢? 本文逐一遍览了基于Javas ...
- 为什么get比post更快
引言 get和post在面试过程中一般都会问到,一般的区别: 1.post更安全(不会作为url的一部分,不会被缓存.保存在服务器日志.以及浏览器浏览记录中) 2.post发送的数据量更大(get有u ...
- CSS VS JS动画,哪个更快[译]
英文原文:https://davidwalsh.name/css-js-animation 原作者Julian Shapiro是Velocity.js的作者,Velocity.js是一个高效易用的js ...
随机推荐
- Ajax_Post用法
Ajax_Post用法 post方法的用法其实跟get是大同小异的 唯一不同的地方就是我们需要修改server.js的文件 只需要将get修改为post即可 那么我为了方便操作我这里选择的是直接在下面 ...
- NIO-java.nio.ByteBuffer中flip、rewind、clear方法的区别
Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的. 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存.这块内存被包装成NIO ...
- iOS14新功能一览
这是转载的6月份的一篇文章,但是和今天发布的 ios14 正式版基本一致,可以大概参考一下. 23 号凌晨的 WWDC ,小狐也是恪尽职守啊!从开场到收尾,小狐一点也没落下,整场大会围绕着 Apple ...
- migrate 和makemigrations 命令
在你改动了app下 models.py的内容之后执行下面的命令: Python manger.py makemigrations 相当于 在该app下建立 migrations目录,并记录下你所有的关 ...
- python3 .format()函数
Python 3.5.2实验 >>> print('{0},{1}'.format('kzc',18) ) kzc,18 >>> print('{},{}'.for ...
- mongodb中oplogsize大小设置
1 oplogsize大小配置: 2 mongodb副本集构建的高可用方案,最少需要三个节点,一个主节点master,一个从节点slave,一个选举仲裁节点arbiter.当主节点奔溃的时候,仲裁节点 ...
- Vue 之 浏览本地图片功能
template <input type="file" ref="input_file" @change="fileChange" ...
- qiankun 2.x 运行时沙箱 源码分析
简介 从源码层面详细讲解了 qiankun 框架中的 JS 沙箱 和 样式沙箱的实现原理. 序言 沙箱 这个词想必大家应该不陌生,即使陌生,读完这篇文章也就不那么陌生了 沙箱 (Sandboxie) ...
- freeswitch插件式模块接口实现方式
概述 freeswitch的外围模块是插件式的,可以动态的加载和卸载,使用起来非常的灵活和方便. 如果我们自己来设计一个开源的代码框架,相信这种插件式的模块结构是非常适合多人合作的模式. 本文对fs的 ...
- Idea Error:java: System Java Compiler was not found in classpath:
前言 这个问题和IDEA的版本有关系,或者有时不小心把项目错误操作了一步,导致出现,这个属于常见错误 解决办法 1:关闭项目,找一个正常运行的项目,将其.idea..mvn文件夹拷贝出来,替换到不能运 ...