Linux: сколько диска ввод-вывод требуется для чтения файла? Как минимизировать его?

Я обновил свои 10,04 рабочих столов по моим 8,04 рабочим столам, и 10.04 умер на перезагрузке, потому что это не могло найти сетевые сокеты. Я попробовал 10,04 CD, и они не могли закончить маршрутизатор также. Между тем 8.04 хорошо работает.

Я знаю не, то же как сервер, но мой совет, не ВЕРЯТ ШУМИХЕ. 8,04 работ. Палка с ним.

5
задан 27 January 2012 в 00:15
5 ответов

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

В старых версиях EXT3 была очень серьезная проблема с каталогами с тысячами файлов в них, которая была исправлена, когда были введены dir_indexes. Если dir_index не используется, получение файла из каталога с тысячами файлов может быть довольно дорогостоящим. Не зная подробностей, я подозреваю, что именно это устройство NAS использовалось в статье.

Современные файловые системы (последние ext3, ext4, xfs) справляются с проблемой большого каталога намного лучше, чем в былые времена. Некоторые inodes могут стать большими, но b-деревья, которые обычно используются для индексации каталогов, делают очень быстрое fopen раз.

12
ответ дан 3 December 2019 в 00:53

Я предполагал, что метаданные и индексный дескриптор файловой системы всегда будут кэшироваться в ОЗУ

Да, но вы не научились правильно читать. В абзаце, который вы сами процитировали, ясно сказано:

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

Устройства - это аппаратное ПО низкого уровня. Слишком много метаданных + слишком мало ОЗУ = НЕВОЗМОЖНО КЭШИРОВАТЬ.

Если у вас большой файловый сервер, используйте его, а не низкое устройство.

5
ответ дан 3 December 2019 в 00:53

Если вы можете жить без обновленного времени доступа к файлам и каталогам, вы можете сэкономить много запросов ввода-вывода, если монтируете файловую систему с параметром noatime.

2
ответ дан 3 December 2019 в 00:53

В Linux это делается по умолчанию. Если у вас хороший объем оперативной памяти, вы получите хорошее кэширование.

1
ответ дан 3 December 2019 в 00:53

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

Другими словами, измерьте все! Я использую collectl исключительно для этого, как и многие пользователи некоторых из крупнейших кластеров в мире.

Просто скачайте / установите его и запустите. Он будет записывать массу вещей, которые вы можете воспроизвести или даже построить. Затем посмотрите на цифры и выясните, насколько эффективно работает ваше кэширование.

-mark

1
ответ дан 3 December 2019 в 00:53

Теги

Похожие вопросы