簡體   English   中英

Java File IO性能?

[英]Java File IO performance?

我正在使用RandomAccesFile並一次以10MB的塊寫入數據。 以下是來源。 在這里它正在寫調用中寫入10MB數據。 大約需要700毫秒。 是否有任何方法可以使用文件通道或其他方法來改善此問題。 FileSystem是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是非本地的,因此您幾乎受限於網絡帶寬-能夠在700ms內寫入10MiB等於具有14,28 MiB / s的帶寬-大約119Mbit,所以我想您實際上是在談論MB / s,在這種情況下,您仍然有114Mbit ....好吧,我假設您使用的是千兆局域網。

在那種情況下,您確實會遇到一些性能問題,因為gbit-LAN​​可以做的還遠遠不止這些。 有幾個步驟可以找到根本原因:

  • 檢查是否正在運行另一個應用程序
  • 檢查您的NIC是否設置有問題(如果可能,請重置為出廠默認設置)
  • 檢查另一個應用程序是否能夠比該應用程序更快地傳輸數據

最后(如果問題仍然存在):

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM