The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Инструментарий для наглядной оценки проблем с производительн..."
Отправлено opennews, 20-Мрт-12 14:51 
Брендан Грег (Brendan Gregg), один из разработчиков DTrace, представил (http://dtrace.org/blogs/brendan/2012/03/17/linux-kernel-perf.../) проект FlameGraph (https://github.com/brendangregg/FlameGraph), одна из областей использования которого связана с выявлением узких мест, влияющих на производительность ядра Linux. FlameGraph создан как средство для наглядной визуализации проблемных мест в ядре, потребляющих наибольшее число процессорных ресурсов. Код проекта написан на языке Perl и открыт (https://github.com/brendangregg/FlameGraph) под лицензией CDDL.


В качестве исходных данных поддерживается сбор информации о состоянии системы через такие механизмы, как DTrace, perf_events и SystemTap. Практически, FlameGraph может визуализировать не только статистику работы ядра, но и данные о выполнении любых приложений, которые могут быть получены при помощи вышеотмеченных инструментов DTrace, perf_events и SystemTap. На графиках также могут быть проанализированы сетевые операции, файловый ввод/вывод, статистка выполнения процессов и другие данные.  Результаты анализа генерируются в виде графика, экспортируемого в формате SVG.


Формирование графика производится в три этапа: накопление данных, сброс накопленной статистики и создание графика. Например:


<font color="#461b7e">
   perf record -a -g -F 1000 sleep 60
   perf script | ./stackcollapse-perf.pl > out.perf-folded
   cat out.perf-folded | ./flamegraph.pl > perf-kernel.svg
</font>

Последний этап можно расширить, отфильтровав только интересующую информацию (например, статистику по потреблению CPU, работе ext4 или определённым системным вызовам):


<font color="#461b7e">
   grep -v cpu_idle out.perf-folded | ./flamegraph.pl > nonidle.svg
   grep ext4 out.perf-folded | ./flamegraph.pl > ext4internals.svg
   egrep 'system_call.*sys_(read|write)' out.perf-folded | ./flamegraph.pl > rw.svg
</font>

Как правило в результате работы DTrace, perf_events и SystemTap накапливается большой объем данных. Обобщённую информацию можно получить при помощи команды "perf report", но результаты достаточно трудны для анализа, так как отчёт создаётся в текстовом представлении, как правило на нескольких страницах, которые невозможно сразу охватить взглядом и требуется сопоставление относительных процентов. В случае FlameGraph данные представлены на одном экране с выделением цветом проблемных мест и возможностью получения подробностей при наведении курсора на интересующую область.

<center><img src="http://www.opennet.ru/opennews/pics_base/0_1332238711.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></center>


Для сравнения, часть вывода "perf report":

<center><img src="http://www.opennet.ru/opennews/pics_base/0_1332238884.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0></center>


URL: http://dtrace.org/blogs/brendan/2012/03/17/linux-kernel-perf.../
Новость: http://www.opennet.ru/opennews/art.shtml?num=33403

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру