首页 资讯 技术 智能 工程 市场 科技 其它

大数据

下栏目: 网络 家居 物联 大数据

阿里云oss 之 ossfs 入门

来源:网络整理 热度:℃ 时间:07-16
摘要:阿里云OSS比云硬盘要便宜很多,而且阿里云提供一个叫做ossfs的工具,可以将OSS挂载成本地文件系统,如果使用docker的话,也可以很容易实现一个docker volume的插

缘起

阿里云OSS比云硬盘要便宜很多,而且阿里云提供一个叫做ossfs的工具,可以将OSS挂载成本地文件系统,如果使用docker的话,也可以很容易实现一个docker volume的插件,岂不快哉!

测试几种情况:

ossfs挂载成本地文件系统后:

head -c 100 会不会很快?

测试发现,不会很快,ossfs会在/tmp目录生成一个临时文件,下载的数据远不止100字节; 所以,对于特别到的文件来讲,是受制于本地磁盘的容量的。

写入是如何实现的?写大文件时,会不会占用大量内存或本地磁盘?

写入大文件时,会在 /tmp 下创建一个临时文件(该文件打开后立即删除的,只能通过ossfs进程来看),写完后再上传到oss上; 所以,写入的文件大小同样受制于本地磁盘的容量。

总结:

ossfs 将oss挂载成本地文件系统后:

上传和下载时总是先写入本地磁盘 (/tmp 目录);

整体读写效率较差;

对于单个的大文件的情况,要考虑本地磁盘容量是否够用;

下载时,虽然先下载到临时目录,但是文件并不缓存;

再次访问依然需要重新下载 上传时,虽然先写本地文件,应用层依然要等到文件上传完毕后才能返回(因为oss是对象存储,写入对象前必须先知道对象的大小);

具体表现为,fclose触发ossfs的文件上传,但是需要等到文件上传完成后,fclose才算执行完;

对于 PHP 来讲,文件的fclose即使不显式调用,结束前也会隐式调用的 所以:

ossfs 需要考虑适用嘲 ossfs比较适合小文件的嘲 ossfs不解决单个文件超过本地磁盘容量的问题;或者说,可能通过操作多个文件,而且有可能多个文件的大小之和会超过本地磁盘容量 对象存储毕竟是对象存储,不能因为可以挂载到本地文件系统就变成了块儿存储

最热资讯