Загрузка и запись текстового файла на tmpfs медленнее, чем запись на диск, почему?

exportбез аргументов перечисляет все экспортированные переменные. _не является переменной, а указан как специальный параметр .

Несколько сбивает с толку то, что _также будет допустимым именем для переменной , в отличие от имен других специальных параметров. По крайней мере Bash 4.4 допускает присваивания на него, без нареканий. Это просто бесполезно, потому что спецэффект сразу переопределяет значение.

-1
17.02.2020, 14:39
2 ответа

Ваш сценарий не подходит для проверки ввода-вывода. Как указал hardillb , некоторые из них, а их гораздо больше. Вот почему для этого существуют специальные инструменты. Лучшим инструментом для этого может быть ИМХОfio. Вы можете попробовать это так

fio --name=fio-rand-write --rw=randwrite --bs=4k --direct=0 --numjobs=4 \
--size=512M --ioengine=libaio --iodepth=16

Вы просто cdв папку в разделе, который вы хотите проверить, например. /rtmpи запустите команду. Не стесняйтесь читать его документацию или другие темы здесь для получения дополнительной информации.

1
28.04.2021, 23:23

Сценарий выполняет очень много работы до/после выполнения запрошенной работы (здесь записывается немного данных ):необходимо запустить программу-оболочку (предположительно уже в памяти, не так уж и много ), инициализировать свою область данных, найти, прочитать и интерпретировать файл запуска (с )(.bashrc, .bash_profileв вашем доме, общесистемные,... ), прочитать и интерпретировать команды, указанные в этих, читать и интерпретировать команды в скрипте, запускать вызываемые программы по очереди, потом все сносить. То, что вы измеряете, в основном связано с накладными расходами, а не с самой работой.

Shell предназначена для непосредственного взаимодействия с пользователем и имеет некоторые элементарные средства для программирования. (Я часто пишу один -лайнер на лету, например,. обрабатывать несколько файлов одним махом ), можно писать и более содержательные программы (пока производительность не критична, это нормально ). Но для серьезного написания сценариев лучше использовать язык, предназначенный для этой задачи, такой как Python, Perl или Raku. Ни один из вариантов сценариев не является подходящим инструментом для серьезного бенчмаркинга. По крайней мере, без особого ухода.

-1
28.04.2021, 23:23

Теги

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