windows 下磁盘I/O读写

csljl11 2018-08-18 03:14:41
最近碰到一个问题:
windows下 在一个项目中,采用了UDT协议传输大量的大型的文件,发送端和接收端在不同的机器上,接收端怎能接收数据,但不可以反馈信息给发送端,接收端收到文件后,调用标准I/O库函数fwrite()进行写文件,知道整个文件下完,才返回,如果接收端运行在一台性能比较差的机器上,接收一段时间后内存会急剧上升,从而导致接收错误。初步断定是磁盘I/O太慢造成的,请问windows有没有什么技术,可以挺高磁盘I/O操作的效率,或者说避免这种磁盘I/O性能不足的问题
...全文
353 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgl7903 2018-10-25
  • 打赏
  • 举报
回复
如果是突发模式的可以靠大内存了缓冲, 要不然还是升级硬件吧
云山大侠 2018-10-24
  • 打赏
  • 举报
回复
减少机器机器指令,特别是IO指令。
xian_wwq 2018-08-20
  • 打赏
  • 举报
回复
1.优化文件读写
可以增加数据Cache,使用异步方式来写文件;
也可以考虑使用内存映射文件来操作文件,效率比fwrite肯定要高;

2.如果优化文件写入后性能仍然不达标
那除了换硬件
还真的没有什么可以优化的
赵4老师 2018-08-19
  • 打赏
  • 举报
回复
换固态硬盘。
csljl11 2018-08-18
  • 打赏
  • 举报
回复
如果把接收端运行在一个比较好的机器上,此类现象大为改观。
csljl11 2018-08-18
  • 打赏
  • 举报
回复
跟不上我程序接收数据的速度
smwhotjay 2018-08-18
  • 打赏
  • 举报
回复
磁盘I/O太慢 有多慢?

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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