用tmpfs平滑磁盘io需求
来源:互联网 发布:淘宝双11分享有赏红包 编辑:程序博客网 时间:2024/06/16 14:29
在解决某个服务端程序问题时,有些数据需要做些即时的保存。当时采取了直接写文件的方式。经过大量的实际使用后发现,直接在磁盘写文件在用户量大的时候,很容易碰到磁盘io繁忙的问题。考虑通过在内存中建立一个tmpfs的方式来平滑磁盘io需求。
流程简述:
memory -> tmpfs -> disk
其中 tmpfs也是在内存里面的,所以由memory->tmpfs其实就是一个类似memory的copy过程,但实际比memory copy需要更多的时间。
tmpfs->disk采取定期同步机制。这样就可以平滑掉很大比例的写文件操作了。
实际测试:
条件:10000次循环,每次分别写入256,512,1024,4096,102400这5种大小的数据内容。
memory->tmpfs 耗时:45秒
memory->disk 耗时:143秒
采用memory -> tmpfs -> disk机制
在每隔10次memory->tmpfs写操作之后,写一次tmpfs->disk机制,耗时130秒
在每隔20次memory->tmpfs写操作之后,写一次tmpfs->disk机制,耗时89秒
主要的同步语句:
1. remove null file
find src_location -type f -empty -print -exec rm {} /;
2. sync tmpfs to disk
find src_location -type f -newer flag_file -print -exec cp {} dest_location /;
- 用tmpfs平滑磁盘io需求
- 采用tmpfs文件系统极速优化ganglia磁盘IO性能20151203
- 磁盘IO
- 磁盘IO
- 磁盘io
- tmpfs
- tmpfs
- tmpfs
- tmpfs
- tmpfs
- 磁盘IO利用率计算
- 磁盘IO的总结
- 磁盘IO的总结
- 磁盘IO的总结
- linux磁盘IO
- 磁盘IO测试
- 磁盘IO的总结
- 磁盘IO调度策略
- 拷贝构造函数的形参应是类对象的引用,而不是对象的值
- apache小纪
- 龙应台《目送》
- 字符串模式匹配之一-------BM & KMP
- 一种少见的Java初始化方法
- 用tmpfs平滑磁盘io需求
- 【C/C++语言入门篇】-- 调试基础
- Flex Dashboard
- C#编码规范——转载
- javascript在线版Excel工具集-在工作表中插入空白行
- 再谈windows下创建特殊文件夹
- 善用Condition设置,解决Source Insight中的parse too complex问题
- 由一个#符号引发的一系列问题
- 设计模式读书笔记之简单工厂模式(Factory)