Имитация доступа к файловой системе - PullRequest
0 голосов
/ 01 сентября 2011

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

Затем я вызываю симулятор для имитации доступа к файлам рядом процессов. Таким образом, симулятор случайным образом запускает процесс, то есть он разветвляет поток, который делает то, что сделал бы реальный процесс. Поток случайным образом выбирает файловую операцию (чтение, запись, переименование и т. Д.), Выбирает аргументы этой операции из списка (генерируемого ftw ()). Поток выполняет ряд таких файловых операций и затем завершает работу, отмечая конец процесса. Симулятор продолжает порождать темы; выполнение потоков может перекрываться так же, как и реальные процессы. Теперь, когда операции выполняются потоками, файлы вставляются, удаляются, переименовываются, и это обновляется в списке файлов.

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

Спасибо

Ответы [ 2 ]

0 голосов
/ 01 сентября 2011

Звучит неплохо для приличного теста, просто чтобы убедиться, что он работает.Вы можете использовать sleep () для ожидания между порождающими потоками или просто порождать их всех сразу и заставить их выполнить операцию, затем немного подождать, затем выполнить другую операцию и т. Д. IMO, если вы сильно ударили по нему с большим количеством запросов иэто работает, тогда есть вероятность, что ваша файловая система будет работать нормально.Возьмите пример из PostMark, который все, что он делает, это добавляет как сумасшедший к другим файлам и другим тестам, которые делают чтение / запись произвольного доступа в разных местах, чтобы убедиться, что страница должна быть прочитана с диска.

0 голосов
/ 01 сентября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...