Я использую RandomAccesFile и записываю данные в кусках по 10 МБ за раз. Следующий источник. Здесь он записывает 10 МБ данных при вызове записи. Это занимает ~ 700 мс. Есть ли способ улучшить это с помощью файлового канала или других средств. Файловая система - NFS.Работа с файлами ввода-вывода Java?
RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rw");
OutputStream output = Channels.newOutputStream(randomAccessFile.getChannel());
randomAccessFile.seek(offset);
output.write(data, 0, dataLength);//10MB
output.flush();
Что вы действительно пытаетесь достичь? –
10 МиВ менее чем за секунду разумно, честно; не забывайте, что вам нужно переходить через сеть, а сетевые накладные расходы не являются незначительными. Основным повышением производительности, которое вы можете получить здесь, является проверка и изменение при необходимости конфигурации вашего сервера/клиента NFS. – fge
Вы можете сжать свои данные –