2

У меня очень тяжелое приложение ввода-вывода, которое постоянно получает данные по сети и записывает в определенный каталог на жестком диске. Затем приложение должно загрузить файлы из этого конкретного места. Один из моих клиентов испытывает медлительность, и когда я пытаюсь получить доступ к каталогу, требуется довольно много времени, прежде чем я могу увидеть содержимое.

У меня ощущение, что жесткий диск ухудшается из-за высокой скорости ввода-вывода в течение пары лет, и я думаю о смене жесткого диска. Есть ли преимущество в том, чтобы писать в несколько каталогов вместо того, чтобы использовать всегда одно и то же?

Кстати, он использует Windows XP.

3 ответа3

9

Скорее всего, не. Каталог не является физическим местоположением на диске. Новое содержимое каталога размещается на диске в зависимости от его размера и наличия свободного места на диске. Фактический файл для каталога - это просто список этих мест.

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

Еще одна мысль: ошибки чтения могут привести к значительному замедлению, если они не так плохи, как полный сбой. Если вы подозреваете это, запустите диагностику на диске и получите данные как можно скорее, если подтвердится.

[Edit] Вы упомянули выше, что это рентгенологические изображения. Я предполагаю, что в качестве имени файла указывается идентификатор пациента или серийный номер / дата. Предложите вам создать папки для первых 2-3 букв того, что обозначает идентификатор, и переместить элементы в них. Вы можете сделать это несколькими папками, и это сделает поиск элементов не сложнее, чем сейчас, и значительно ускорит индексацию каталога.

oldfolder
  123456
  123457
  123558
  ...
  55123
  55124
  ...
  99345
  99346

newfolder
  12
    34
      123456
      123457
    35
      123558
  ...
  55
    12
      55123
      55124
  ...
  99
     34
       99345
       99346
3

Жесткий диск не волнует. Что вы, вероятно, испытываете, так это файловая система, позволяющая большому каталогу сильно фрагментироваться, как это может сделать Windows. Вы можете попробовать создать новый каталог, переместить туда все файлы и заменить исходный каталог новым.

2

Короткого ответа нет или, по крайней мере, не из-за папки. Расположение файлов на диске практически не зависит от иерархии файловой системы, поэтому два файла в одном и том же каталоге могут быть по последовательным адресам или могут находиться на противоположных концах диска.

Непрерывный ввод-вывод может медленно повредить ваш диск (но жесткие диски постоянно умирают каждую секунду своей жизни), но распределение по нескольким каталогам не будет иметь значения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .