当前位置: 技术问答>linux和unix
多进程写文件速度问题
来源: 互联网 发布时间:2015-10-28
本文导语: linux服务器3系统,起了1000个进程,每个进程的工作就是循环打开100个文件不关闭写入5个字节,然后再循环关闭。 下面列举以下情况 1 1000*100个文件写同一个目录下,例如 /data/目录所有进程完成需要600多秒有时候更...
linux服务器3系统,起了1000个进程,每个进程的工作就是循环打开100个文件不关闭写入5个字节,然后再循环关闭。
下面列举以下情况
1 1000*100个文件写同一个目录下,例如 /data/目录所有进程完成需要600多秒有时候更多
2 1000*100个文件写到1000个目录,进程同时建立目录,即100个文件对应一个目录,例如进程1的100个写到/data/1/目录 所有进程完成时间仅需要20秒
3 1000*100个文件写1000*100个目录,进程同时建立目录 例如进程1地一个文件写入/data/1/1/目录,所有程序完成时间也要600多秒。
请问情况2为什么只用20秒这么少?盘存储文件的方式究竟是怎样的,例如存满了一块再存。。。。,哪里可以获得相关资料?
下面列举以下情况
1 1000*100个文件写同一个目录下,例如 /data/目录所有进程完成需要600多秒有时候更多
2 1000*100个文件写到1000个目录,进程同时建立目录,即100个文件对应一个目录,例如进程1的100个写到/data/1/目录 所有进程完成时间仅需要20秒
3 1000*100个文件写1000*100个目录,进程同时建立目录 例如进程1地一个文件写入/data/1/1/目录,所有程序完成时间也要600多秒。
请问情况2为什么只用20秒这么少?盘存储文件的方式究竟是怎样的,例如存满了一块再存。。。。,哪里可以获得相关资料?
|
13 区别不大
2 比1/3快, 是操作系统管理硬盘读写机制导致的
2 比1/3快, 是操作系统管理硬盘读写机制导致的
|
cpu肯定是分时处理。不同的处理优先级不一样,感觉应该是这方面的原因。
|
不懂,等着看答案
|
1 3 都要让同一个进程访问不连续的 存储空间 来建立文件
2 每个进程可以在连续空间上建立文件
2 每个进程可以在连续空间上建立文件
|
这个涉及的是 操作系统 的知识
|
转Linux/Unix
|
提一下, 在文件读写方面, I/O属于共享资源, 多进程并不能显著提高效率. 因为这时, I/O操作可以当作是临界资源.