Назад | Перейти на главную страницу

NFS монтирует последующие чтения медленнее, чем после монтирования

Позвольте мне сначала объяснить сценарий. Я знаю, что такая установка может показаться смешной, но как только я объясню, что я вижу, если кто-то, кто знает больше, сможет объяснить, почему это происходит, я был бы очень признателен.

У меня 2 сайта. Оба они находятся на противоположных концах континентальной части США. Эти серверы подключены через двухточечный канал 10 Гбит / с, задержка которого составляет примерно ~ 67 мс. У меня есть общий ресурс NFS на одном конце и сервер, который должен смонтировать этот общий ресурс NFS на другом. При начальном монтировании дерево времени выполнения дает следующий вывод:

[root@server01 ~]# time tree /usr/local/ftppub/production/biz_12345
/usr/local/ftppub/production/biz_12345
└── incoming
    ├── inbound
....
    ├── test
    │   └── OVR_DS_MASTER.csv
    ├── test1.csv
    ├── test2.csv
    └── to_be_deleted
        └── payments.csv

23 directories, 2229 files

real    0m9.636s
user    0m0.013s
sys 0m0.047s
[root@server01 ~]#

Обратите внимание на настоящий время, это около 10 секунд.

Но когда я запускаю тот же запрос во второй и в любой последующий раз, время в 12 раз превышает сумму:

[root@server01 ~]# time tree /usr/local/ftppub/production/biz_12345
/usr/local/ftppub/production/biz_12345
└── incoming
    ├── inbound
....
    ├── test
    │   └── OVR_DS_MASTER.csv
    ├── test1.csv
    ├── test2.csv
    └── to_be_deleted
        └── payments.csv

23 directories, 2229 files

real    1m55.544s
user    0m0.026s
sys 0m0.137s
[root@server01 ~]#

cat / pro / mounts дает следующие настройки для этого крепления:

1.2.3.4:/FTP /usr/local/ftppub nfs rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=1.2.3.4,mountvers=3,mountport=2049,mountproto=udp,local_lock=none,addr=1.2.3.4 0 0

Это установки по умолчанию, создаваемые сервером при монтировании этого общего ресурса NFS. Я пробовал поиграть с этими параметрами, но вместо того, чтобы улучшить ситуацию, страдает доступ к этому общему ресурсу NFS. Что не вычисляет, так это то, почему первое чтение этой структуры папок в 12 раз быстрее, чем все последующие чтения? Я бы подумал, что проблема в дерево, но тестирование то же самое с ду дает тот же результат. Чтение из первой команды du занимает около 10 секунд, все последующие ду команды в тот же каталог дают результат почти 2 минуты. Это происходит с любым новым каталогом, который я пытаюсь прочитать в первый раз после монтирования NFS, любые последующие чтения из этого же каталога замедляются примерно в 12 раз.