多进程写文件速度问题

yikun 2005-10-28 09:12:48
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秒这么少?盘存储文件的方式究竟是怎样的,例如存满了一块再存。。。。,哪里可以获得相关资料?
...全文
184 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaocai0001 2005-11-14
  • 打赏
  • 举报
回复
提一下, 在文件读写方面, I/O属于共享资源, 多进程并不能显著提高效率. 因为这时, I/O操作可以当作是临界资源.
xiaocai0001 2005-11-14
  • 打赏
  • 举报
回复
转Linux/Unix
jixingzhong 2005-11-14
  • 打赏
  • 举报
回复
这个涉及的是 操作系统 的知识
jixingzhong 2005-11-14
  • 打赏
  • 举报
回复
1 3 都要让同一个进程访问不连续的 存储空间 来建立文件
2 每个进程可以在连续空间上建立文件
yikun 2005-11-14
  • 打赏
  • 举报
回复
谁给介绍一下磁盘的读写过程?
例如:创建一个目录,在目录下创建文件,写入3字节。这个过程磁头有没有动?如果超过512字节.他写到下一个什么快,如果这个块被占用?...

读过程?
yikun 2005-10-28
  • 打赏
  • 举报
回复
这是io的问题,不时cpu问题
wylove 2005-10-28
  • 打赏
  • 举报
回复
cpu肯定是分时处理。不同的处理优先级不一样,感觉应该是这方面的原因。
NetsEagle 2005-10-28
  • 打赏
  • 举报
回复
1\3 区别不大
2 比1/3快, 是操作系统管理硬盘读写机制导致的
K 2005-10-28
  • 打赏
  • 举报
回复
不懂,等着看答案

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧