2013-06-16 4 views
0

Я ищу использование inotify для просмотра около 200 000 каталогов для новых файлов. При создании просмотр сценария будет обрабатывать файл, а затем он будет удален. Поскольку это часть более сложной системы со многими процессами, я хочу сравнить ее и получить статистику производительности системы на процессоре, памяти, диске и т. Д. Во время тестирования.Бенчмаркинг Системная производительность системы Python

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

Я после предложений по лучшему способу оценить производительность чего-то подобного, особенно влияние, которое оно оказывает на сервер Linux, на котором он работает.

ответ

1

Я попытался бы удалить как можно больше других процессов, чтобы получить повторяемый бенчмарк. Например, я бы установил отдельный выделенный сервер с монтированием NFS в каталоги. Этот сервер выполнит только инициализацию и скрипт Python. Для простых измерений сервера я бы использовал top или ps для мониторинга процессора и памяти.

Настоящий тест заключается в том, как быстро ваш сценарий «истощает» каталоги, которые полностью зависят от вашего процесса. Вы можете просмотреть сценарий и посмотреть, где он проводит время.

+0

Я думал о чем-то подобном, ваш ответ подтверждает это. Я думаю, что 'dstat' будет лучше, чем' top'. 'dstat' может выводить на файл, и вы можете преобразовать его в график. Я не уверен, как «ps» поможет контролировать производительность системы? Можете ли вы объяснить больше об этом? Я использую его для проверки отдельных процессов. –

+1

@EdwardWilliams: 'ps' будет показывать статус« D », если процесс ожидает ввода/вывода на диске (или обмена), что, вероятно, скажется на вашем процессе. Он также может отображать% CPU и% Memory, используемые вашим процессом. Если ваш процесс не привязан к диску, а% числа относительно низки (скажем, менее 50%), то ваш процесс не отстает от нагрузки. Если статус «R», тогда он запускает ваш код, чтобы попытаться идти в ногу с ним. Статус должен быть «S», поскольку он «спит», ожидая другого файла. Я раньше не использовал 'dstat'. –

Смежные вопросы