У мене є сервер, на якому встановлено частку CIF (файли зберігання Azure). Іноді ls повертається повільно (20 секунд). Після трохи налагодження я поки що встановив, що:
- робите
ls /data/some/symlink/directory
повернення за 20 секунд - зайти в каталог / data / some / symlink /, а потім
ls .
займає 0,02 секунди - робити
ls /data/original/location/that/symlinkpoints/to/directory
також повертається до південь другий
на 20-секундний час повернення ls, схоже, впливає кількість файлів у каталозі. Чим більше каталог, тим більше часу займає.
Це змусило мене подумати, що це має щось спільне з тим, як посилається на симпосилання на лс. Як би довелося вирішувати його для кожного файлу чи чогось іншого.
Для того, щоб налагодити це, я хотів запустити ls через strace, щоб побачити, чи можу я побачити, яка різниця в систематичних дзвінках між різними випадками. Однак якщо я біжу
strace ls /data/some/symlink/directory it also returns sub second suddenly.
Будь-які ідеї щодо того, чому запуск його через strace робить його швидким і як далі налагоджувати?
-f
Опція відключає висновок кольору і сортування. ("не сортувати, включити -aU, відключити -ls --color")