трассировка ввода / вывода на уровне блоков - PullRequest
4 голосов
/ 27 октября 2011

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

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

Спасибо.

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

1 Ответ

0 голосов
/ 20 февраля 2015

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

...