-1

У меня есть два сценария.Скорость обработки по установленному пути

Сценарий 1: Машина A содержит 1000 документов в виде папок. Эта папка машины A смонтирована в машине B. Я обрабатываю документы в этих папках в машине B и сохраняю результат вывода в установленном пути в машине B.

Сценарий 2. Документы на машине A непосредственно копируются в машину B и обработано

Сценарий 2 намного быстрее, чем сценарий 1. Я мог догадаться, потому что нет передачи данных по сети между двумя машинами. Есть ли способ, которым я могу использовать монтаж и все еще добиваться более высокой производительности?

+0

Я так не думаю .. :( –

ответ

1

Вы пытались включить кеш? - для NFS: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/fscachenfs.html - CIFS должен иметь кеширование по умолчанию (если вы его не отключили)

Другой вариант - использовать что-то вроде автономных файлов Windows, которое копирует файлы и папки между клиентом и сервером в фоновом режиме, поэтому вам не нужно иметь дело с этим. Единственное, что я нашел для linux, - OFS.

Но производительность зависит от размера файлов, и если вы читаете их случайным образом или последовательно. Например, когда я кодирую видео, я сразу же получаю доступ к файлу через сеть из своей NFS, потому что для чтения и записи файла требуется столько времени, сколько потребуется. Таким образом, никакое дополнительное время не «теряется» в кодировке, так как приложение может кодировать поток, который поступает из сети.

Так что для больших файлов вы можете изменить алгоритмы на последовательное чтение, с другой стороны, небольшие файлы, которые копируются в течение нескольких секунд, могут также синхронизироваться между сервером и клиентом с помощью rsync, bittorrent sync, dropbox или одного из другие сотни инструментов. И это на самом деле довольно часто делается.

Смежные вопросы