Падение производительности при копировании больших файлов с NFS на локальный диск

Падение производительности при копировании больших файлов с NFS на локальный диск

Я пытаюсь скопировать файл размером 200 ГБ с монтирования NFS на локальный диск. Локальный диск представляет собой файловую систему XFS на LVM поверх системы RAID 5 (аппаратный RAID-контроллер).

Я использую rsyncдля мониторинга скорости передачи. В начале скорость ввода-вывода составляет около 200 МБ/с, стабильная для первых 18 ГБ. Но затем производительность падает в 10-20 раз и никогда не восстанавливается до первоначальной скорости. Иногда она достигает около 50-100 МБ/с, но всего на несколько секунд, а затем процесс как будто зависает на некоторое время.

При этом все операции file-stat на целевой файловой системе блокируются на длительное время (минуты). Также прерывание процесса копирования блокирует на несколько минут. Последующее удаление частично скопированного файла также занимает несколько минут.

Есть идеи, что может быть причиной этого?

решение1

Благодаря комментарию jet, я посмотрел на кэширование дискового ввода-вывода под Linux. Оказывается, поскольку в системе много оперативной памяти (48 ГБ), которая почти свободна, много используется для кэша ввода-вывода.

Я просмотрел /proc/meminfo и поискал поля «Dirty» (грязные страницы кэша ввода-вывода) и «Writeback» (записанные на диск грязные страницы).

watch -n1 -- "grep -E Dirty|Writeback /proc/meminfo"

Показывает, что Dirty увеличивается примерно до 18 ГБ, затем снова уменьшается, в то время как Writeback увеличивается, после записи страниц Dirty он снова увеличивается и т. д. Мониторинг диска io с помощью iostatone показывает, что во время кэширования диск не пишет, только когда 'Writeback' уменьшается, данные записываются на диск. Скорость записи составляет около 15 МБ/с.

Итак, первые 18 ГБ быстрые, записываются в кэш, но затем, когда происходит фактическая запись, она замедляется, и во время записи дисковый ввод-вывод перегружается и блокируется, пока все «грязные» страницы не будут отправлены на диск.

Связанный контент