gpt4 book ai didi

Java文件IO性能?

转载 作者:行者123 更新时间:2023-11-30 08:18:54 26 4
gpt4 key购买 nike

我正在使用 RandomAccesFile 并一次写入 10MB 的数据 block 。以下为源码。这里是在 write 调用中写入 10MB 数据。大约需要 700 毫秒。有什么方法可以使用文件 channel 或其他方式来改善这一点。文件系统是NFS。

        RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rw");
OutputStream output = Channels.newOutputStream(randomAccessFile.getChannel());
randomAccessFile.seek(offset);

output.write(data, 0, dataLength);//10MB
output.flush();

最佳答案

NFS 是 by definition ,非本地,所以你的网络带宽几乎受到限制 - 能够在 700 毫秒内写入 10MiB 等于拥有 14,28 MiB/s 的带宽 - 这大约是 119Mbit 所以我猜你实际上是在谈论 MB/s 在这种情况下你仍然有 114Mbit .... 好吧,我假设你在千兆位 LAN 上。

在这种情况下,您确实会遇到一些性能问题,因为 gbit-LAN​​ 的功能远不止于此。有几个步骤可以找到根本原因:

  • 检查是否有其他应用程序正在运行
  • 检查您的网卡设置是否有错误(如果可能,重置为出厂默认设置)
  • 检查其他应用程序是否能够比该应用程序更快地传输数据

最后(如果问题仍然存在):

关于Java文件IO性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29256830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com