Как физическая оперативная память влияет на копирование файлов?

Как физическая оперативная память влияет на копирование файлов?

Моя установка:

Исходные и целевые серверы (установлены в корпусе Dell M1000e):

  • Dell Poweredge M620 (Блейд-серверы)
  • 2 процессора Intel E5-2650 @ 2 ГГц
  • 192 ГБ оперативной памяти (DDR3, 1333 МГц)
  • Контроллер Raid Perc H310 (6Gbe на слот)
  • 2x 1,7 ТБ SSD (Sata) накопителя (RAID-0)
  • 2x 10Gbe NIC (MS-Team, независимый от коммутатора, динамический, все адаптеры активны)

  • Windows 2012 R2 (установка по умолчанию)

  • Файл страницы, управляемой системой

  • Серверы подключены к внутреннему коммутатору Force10 MXL 10Gb.

  • Настроены пакеты Jumbo (сетевые карты и порты коммутатора)

Вариант использования:

При копировании (копировании в Windows) большого файла (более 200 ГБ) между исходным и целевым серверами (неважно, в каком направлении — происходит в обоих случаях) копирование начинается с хорошей стабильной скорости передачи данных ~1 ГБ/с (хотя я ожидал ~2 ГБ/с), однако где-то по пути скорость падает до нескольких МБ/с (!) для оставшейся части передачи.
Для более четкого представления см. изображение ниже.

введите описание изображения здесь

Похоже, что RAM влияет на мое действие копирования.
Как и почему это влияет?

решение1

  • Пропускная способность между серверами составляет 10 Гбит/с.
  • Пропускная способность ваших SSD-накопителей составляет 6 Гбит/с, из которых около 4 Гбит — это чистая скорость записи.

Таким образом, на первом этапе данные файла поступают со скоростью около 10 Гбит/с, из которых 4 Гбит/с перемещаются на диск, а 4 Гбит/с остаются в кэше.

Примерно через 100 секунд половина вашего кэша заполнится, поэтому Windows начнет регулировать передачу, но все равно входящие данные плюс очистка кэша больше, чем могут обработать SSD. Это приводит к большему заполнению кэша.

Когда объем свободной оперативной памяти наконец достигает нижнего предела (или размер грязного кэша — верхнего предела), Windows ограничивает передачу данных практически до нуля, чтобы позволить очистке кэша наверстать упущенное.

После перемещения всех «грязных» данных скорость передачи снова возрастет и будет достигнуто равновесие (если только передача не будет завершена).

Для перемещения больших файлов гораздо лучше использовать программное обеспечение, которое использует запись файлов с помощью O_DIRECT, чего, конечно же, не делает Explorer.

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