Снижение скорости следует ожидать, так как количество одновременно используемых файлов увеличивается. Жесткие диски не любят, когда к ним обращаются параллельно: каждый раз, когда головке чтения / записи требуется переключать цилиндры, вы теряете несколько миллисекунд. Даже если два файла находятся в одном и том же цилиндре или даже на одной дорожке, вам все равно придется ждать поворота, чтобы перейти от одного к другому. Если вы измеряете производительность диска в мегабитах в секунду, ожидайте, что она будет уменьшаться в геометрической прогрессии при увеличении параллельного доступа.
fsck
не поможет с этим: он только восстанавливает повреждение структуры каталогов, он не выполняет никакой оптимизации.
Идеальным решением было бы переключение на твердотельное хранилище, поскольку оно не имеет физических ограничений для вращающихся пластин. Но это, вероятно, слишком дорого.
Следующим лучшим вариантом будет использование RAID, оптимизированного для параллельного доступа. Имейте в виду, что RAID-массивы могут быть настроены для разных профилей производительности, поэтому вам потребуется некоторое время, чтобы изучить настройки любого конкретного RAID-оборудования и драйверов.
Вы можете уменьшить проблему, используя агрессивное кэширование файловой системы. Если в вашей системе достаточно оперативной памяти, Linux должен делать это довольно хорошо. Запустите программу, top
чтобы увидеть, сколько свободной оперативной памяти есть. Но если наиболее часто используемые файлы не помещаются в ОЗУ (или любую ОЗУ, которую вы, вероятно, приобретете), это не поможет.
Обходным решением для бедного человека будет разделение ваших файлов на несколько разных физических жестких дисков (а не только на разные разделы на одном диске). На самом деле это не масштабируемое решение на долгосрочную перспективу, которое обойдется вам дороже, чем приличный RAID. Но это может быть быстро исправлено, если у вас есть диски, лежащие вокруг.
Для любого решения, связанного с жесткими дисками, убедитесь, что они имеют высокую скорость вращения и низкую задержку поиска.
Я написал статью с некоторыми общими сведениями о производительности жесткого диска:
Советы по UNIX - Файловые системы