трассировка ввода-вывода уровня блока

Я пытаюсь получить доступ к трассе ввода-вывода уровня блока теста облака. Ive посмотрел YCSB, Дождь и несколько других наборов тестов, но ни один из них не сообщил о регистрации блоков/байтов. Я имею в виду просто запустить один из этих тестов и использовать blktrace/blkparse для получения трассы ввода-вывода, но проблема заключается в том, что этот подход не будет захватывать запросы ввода-вывода, которые выполняются кэшем страницы, поскольку blktrace/blkparse работает ниже уровня файловой системы (на уровне ввода-вывода блока).

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

Благодарю.

пс. Опция использования O_DIRECT с blktrace/blkparse не является желательной, поскольку вы не можете использовать ее с уже скомпилированными программами.

4

1 ответы

Другим инструментом, который вы можете проверить, является iosnoop http://www.brendangregg.com/blog/2014-07-16/iosnoop-for-linux.html Я использовал его для отслеживания только следов уровня диска, но есть множество других перфекционных инструментов https://github.com/brendangregg/perf-tools , который может помочь вам удовлетворить ваши потребности.

0
добавлено