- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF135:Bonnie
Материал из Linuxformat.
- Сравнительный анализ Проверьте темп своих настроек точными инструментами
Содержание |
Железо: Тест на скорость
- В самом ли деле ваши обновления и настройки повышают быстродействие системы? Боб Мосс расскажет, в чем измерить успех.
Иной раз после замены аппаратного компонента или модернизации ПО мы не замечаем сколько-нибудь существенного улучшения и начинаем сомневаться, стоило ли городить огород.
Гадать совсем не обязательно. В мире свободного ПО есть тысячи инструментов и тестов для анализа быстродействия ЦПУ, воспроизведения фильмов или латентности подключения – с высокой точностью и в мельчайших подробностях.
Подробности как таковые проблему не решат, а вот сравнительный анализ [benchmarking] – может. Для тех, кто раньше не сталкивался с бенчмаркингом: это процесс измерения характеристик до модернизации и после неё, с последующим сравнением результатов. Такие инструменты можно использовать весьма широко, но для целей нашей статьи давайте ограничимся оценкой изменений.
Чтобы получить объективный результат, можно использовать идеи из раздела «Какой анализ лучше?» далее. Но мы коснёмся только тестирования аппаратуры и наблюдения за работой системы – а вы уже сами оцените полученные результаты и поймёте, где именно нововведения сработали.
Для примера возьмём тестирование жёсткого диска. Основные параметры здесь – эффективность файловой системы и аппаратные характеристики (например, время доступа): они определяют скорость чтения и записи. Объём внутренних буферов тоже влияет на быстродействие, ведь при их правильной работе сокращается количество операций чтения/записи.
Сперва применим пресловутую программу hdparm. Мы кратко упоминали о ней в статье «Ускоряем Linux» номера LXF124; в большинстве дистрибутивов загрузить её можно через менеджер пакетов. Менее известно, что hdparm можно использовать для измерения скорости жёсткого диска, всего лишь введя в терминале строку
hdparm -Tt /dev/hda
Не забудьте заменить /dev/hda фактическим обозначением вашего диска. Вывод команды покажет, какой объем данных был прочитан за указанное время, а также переведет результат в мегабайты в секунду. Скорость кэшированного чтения обычно намного выше, чем нижняя цифра – последняя относится к тесту на прямое (буферизированное) чтение.
Давай подробности
Если хотите получить более точные сведения, найдите программу Bonnie++ (о ней знают менеджеры ПО в большинстве дистрибутивов). Этот очень чуткий инструмент запускается единственной строкой в терминале:
bonnie++ /dev/hda
И снова: не забудьте заменить /dev/hda названием своего диска. Этот тест выполняется дольше предыдущего, что вполне объяснимо: Bonnie++ читает и записывает файл «без церемоний» (с прямым доступом к диску), а затем повторяет процесс с использованием кэша. Сведения, которые вы получаете в итоге, много подробнее и, благодаря развёрнутой проверке, содержат значения латентности, времени записи, создания и удаления файлов в различных режимах.
Однако Bonnie++ не ограничивается общим надзором за диском. Можно задать число повторения теста, объём используемых при этом файлов и их количество... Просто наберите bonnie++ в терминале и полюбуйтесь на внушительный список опций, предлагаемых программой для оценки темпа работы вашего диска.
Проницательный Phoronix
Ну, а если проверки винчестера недостаточно, попробуйте Phoronix Test Suite: этот пакет есть почти в любом дистрибутиве. Маленькая нестыковка: графический интерфейс запускается из меню Gnome, но библиотека для его работы в современных дистрибутивах пока (на время написания статьи) не обновлена. Это неприятно – однако консольная версия Phoronix Test Suite сгодится не хуже.
Список всех имеющихся тестов выводится по команде
phoronix-test-suite list-tests
Анализ не должен длиться сутками! Если тест отнимает больше 30 минут – поищите другой, более соответствующий характеристикам компьютера.
Если заменить list-tests на list-suites, выведется перечень опций для проведения тестов по заданным сценариям. Наш пример будет связан с тестом на скорость кодирования аудиофайлов, для чего понадобится такая команда:
phoronix-test-suite run audio-encoding
Для установки тестов при первом прогоне понадобится некоторое время, зато по результатам проверки вы узнаете скорость кодирования стандартного файла WAV в различных форматах-контейнерах.
И в завершение давайте выясним с помощью комплекта подробные сведения о системе:
phoronix-test-suite system-info
Мы лишь слегка коснулись темы измерения производительности систем и поиска путей совершенствования. Инструментов для этого очень много, дело за вами: пробуйте, экспериментируйте, доводите свою машину до идеального состояния.
Какой анализ лучше?
Пусть кто-то уверяет вас: «Процессор Intel Core 2 Solo компилирует Firefox из исходников на 10 % быстрее». Сразу возникают вопросы. Во-первых, неизвестно, с каким процессором проведено сравнение и какая версия Firefox бралась для проверки. Результаты должны обладать повторяемостью, и для их корректного сравнения надо учитывать мельчайшие детали исходного состояния и конечного результата.
Затем, некоторые вещи невозможно сопоставить объективно. Достоверным сравнение будет только в том случае, если модернизировать одну из идентичных систем (например, чтобы выяснить влияние доработки ядра на скорость загрузки). Сравнение времени загрузки Linux и Windows – занятие увлекательное, но целью реального анализа не является.
Наконец, следует пользоваться инструментами для своей платформы. Как отмечалось выше, результаты тестирования на Windows несравнимы с такими же результатами для Linux: ведь системы действуют по-разному. А коли инструменты разные, неправомочно сравнивать и результаты: возможно, дело не в выигрыше скорости, а в отличиях алгоритмов тестирования.