Я ищу для создания рабочей нагрузки, которая будет выполнять операции в файловой системе, что сделает доступ к диску иметь ротацию или поиск стоимости.

Подробности Env:

размер раздела: 30 г. Файловая система: ext4.

Я в основном ищу дизайн плохой нагрузки доступа к файлам (то есть, производительность должна быть плохой).

Это то, что я пробовал до сих пор:

Создал файл, скажем «Х» (размер ~ 400 МБ). Это было создано в группе блоков 45 (на самом деле это охватывало несколько групп). В моем разделе 241 группа блоков. Я создал еще один файл, и случайно он был создан в группе № 100 (назовем это D1). Я случайно создал еще один файл, который был выделен группе 45 (этот файл мы назовем D2. Я создал файл перед тем, как заполнить X большим текстом).

Я попытался запустить скрипт, который будет копировать данные из X в D1 и D2. Я думал, что качество этих двух копий должно быть очень разнородным. Но это не так, к сожалению. Я не могу понять, почему это происходит.

Как я могу заставить ФС вести себя плохо с точки зрения перфорации?

1 ответ1

0

Скорее всего, все эти операции кэшируются в оперативной памяти, поэтому вы вообще не взаимодействуете с диском. Чтения выполняются из ОЗУ, записи кэшируются в ОЗУ, и ваши команды завершаются до того, как запись на диск действительно произошла.

Чтобы это исправить, начните каждый тест с помощью следующих команд:

sync
echo 3 > /proc/sys/vm/drop_caches

И покончим с этим:

sync

sync сбрасывает все записи на диск. Команда echo выбросит кеш, поэтому последующие чтения будут считаны с диска. Это должно быть запущено от имени пользователя root.

Чтобы сделать вашу жизнь проще, вместо того, чтобы создавать файлы и пытаться получить их в нужном месте, почему бы просто не выполнить чтение непосредственно из файла dev для диска, например, /dev/sda?

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