The OpenNET Project / Index page

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

19.03.2015 12:32  perf-tools - новый набор утилит для анализа производительности в Linux

Брендан Грег (Brendan Gregg), один из разработчиков DTrace, переключился на развитие средств анализа производительности в Linux и подготовлил новый набор утилит perf-tools, основанный на применении подсистем ядра Linux perf_events и ftrace. Утилиты отличаются минимальным числом зависимостей, простотой использования и дополнительными возможностями изучения параметров производительности и отзывчивости.

Например, утилита iosnoop позволяет проанализировать дисковый ввод/вывод с приведением дополнительной информации о возникающих задержках (latency):


# ./iosnoop
Tracing block I/O... Ctrl-C to end.
COMM             PID    TYPE DEV      BLOCK        BYTES     LATms
supervise        1809   W    202,1    17039968     4096       1.32
supervise        1809   W    202,1    17039976     4096       1.30
tar              14794  RM   202,1    8457608      4096       7.53
tar              14794  RM   202,1    8470336      4096      14.90
tar              14794  RM   202,1    8470368      4096       0.27
tar              14794  RM   202,1    8470784      4096       7.74
tar              14794  RM   202,1    8470360      4096       0.25
tar              14794  RM   202,1    8469968      4096       0.24
tar              14794  RM   202,1    8470240      4096       0.24

Утилиты funccount, funcslower, funcgraph и functrace позволяют изучить обращение к системным вызовам, соответствующим определённой маске:


# ./funccount 'ip*'
Tracing "ip*"... Ctrl-C to end.
FUNC                              COUNT
ip_mc_sf_allow                       70
ipv6_chk_mcast_addr                  72
ip_finish_output                    108
ip_local_out                        108
ip_output                           108
ip_queue_xmit                       108
ipv4_mtu                            216
ip_local_deliver                    229
ip_local_deliver_finish             229
ip_rcv                              229
ip_rcv_finish                       229
ipv4_dst_check                      513

Для построения гистограммы, отражающей параметры отзывчивости, может использоваться утилита iolatency.


# ./iolatency
Tracing block I/O. Output every 1 seconds. Ctrl-C to end.
>=(ms) .. <(ms) : I/O |Distribution |
0 -> 1 : 4381 |######################################|
1 -> 2 : 9 |# |
2 -> 4 : 5 |# |
4 -> 8 : 0 | |
8 -> 16 : 1 |# |

Утилиты execsnoop, killsnoop и opensnoop позволяют проанализировать детали обращения к вызовам exec(), kill() и open():


# ./execsnoop
Tracing exec()s. Ctrl-C to end.
PID PPID ARGS
22898 22004 man ls
22905 22898 preconv -e UTF-8
22908 22898 pager -s
22907 22898 nroff -mandoc -rLL=164n -rLT=164n -Tutf8
22906 22898 tbl
22911 22910 locale charmap
22912 22907 groff -mtty-char -Tutf8 -mandoc -rLL=164n -rLT=164n
22913 22912 troff -mtty-char -mandoc -rLL=164n -rLT=164n -Tutf8
22914 22912 grotty

Утилита cachestat выдаёт статистику попаданий в файловый кэш:


# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9

Утилита kprobe позволяет отследить аргументы обращения к системным вызовам:


# ./kprobe p:do_sys_open
Tracing kprobe do_sys_open. Ctrl-C to end.
kprobe-26042 [001] d... 6910441.001452: do_sys_open: (do_sys_open+0x0/0x220)
kprobe-26042 [001] d... 6910441.001475: do_sys_open: (do_sys_open+0x0/0x220)


  1. Главная ссылка к новости (http://www.brendangregg.com/bl...)
  2. OpenNews: Из Oracle ушел последний из ключевых разработчиков DTrace
  3. OpenNews: Инструментарий для наглядной оценки проблем с производительностью
Лицензия: CC-BY
Тип: Программы
Ключевые слова: perf, linux, treace
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Stax (ok), 15:44, 19/03/2015 [ответить] [показать ветку] [···]    [к модератору]
  • +7 +/
    Очень любопытная штука. Анализаторов производительности много не бывает.
    Стоило добавить в новость, что требуется ядро 3.2 или выше.
     
     
  • 2.14, Аноним (-), 20:56, 19/03/2015 [^] [ответить]     [к модератору]
  • –9 +/
    Учитывая что скоро релизнется 4 0 - это уж прямо как-то неприлично даже упоминат... весь текст скрыт [показать]
     
     
  • 3.17, angra (ok), 00:15, 20/03/2015 [^] [ответить]    [к модератору]  
  • +5 +/
    Админам локалхоста сообщаю, RHEL 6 закончит первую фазу production только во втором квартале 2016 года.
     
     
  • 4.28, Аноним (-), 15:02, 21/03/2015 [^] [ответить]    [к модератору]  
  • –1 +/
    Ну вот у тебя есть коммерческий саппорт? Вот и тереби шапку. А иначе - ну ты понял :)
     
  • 3.19, _KUL (ok), 02:10, 20/03/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    Расскажи это админам боевых серверов(где по возможности от ядра остаётся только мнимально-нужный функционал, который был уже в 2.6.29)
     
     
  • 4.29, Аноним (-), 15:03, 21/03/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    > функционал, который был уже в 2.6.29)

    А дыры они как, сами патчат? Чойта за админы такие крЮтые? :)

     
  • 3.20, Наше имя Легион (?), 13:49, 20/03/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    Глупцам - подзатыльник и спать!
     
  • 1.2, Аноним (-), 16:09, 19/03/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Есть что-то подобное для FreeBSD?
     
     
  • 2.4, Аноним (-), 16:47, 19/03/2015 [^] [ответить]     [к модератору]  
  • –1 +/
    Там собственно оригинальный DTrace есть - вещщЪ Но этот парень большой молодец,... весь текст скрыт [показать]
     
     
  • 3.6, Аноним (-), 17:04, 19/03/2015 [^] [ответить]     [к модератору]  
  • +/
    DTrace - это понятно, но это немного не то, что сделано в данном продукте Хочет... весь текст скрыт [показать]
     
     
  • 4.10, Мяут (ok), 18:08, 19/03/2015 [^] [ответить]    [к модератору]  
  • –1 +/
    Ну собственно Брендан Грег автор зачечательной штуки под названием DTrace Toolkit: http://www.brendangregg.com/dtracetoolkit.html.
    Оно конечно для Solaris писалось, но там в основном используются пробы из провайдеров, поэтому наверное и в FreeBSD запустится.
     
     
  • 5.12, Аноним (-), 20:07, 19/03/2015 [^] [ответить]     [к модератору]  
  • +/
    Нет, почти ничего из этого тулкита не работает... весь текст скрыт [показать]
     
  • 3.13, Аноним (-), 20:55, 19/03/2015 [^] [ответить]     [к модератору]  
  • +2 +/
    Хреновый из тебя дебианщик, если ты такую прожку не можешь сам собрать При эсте... весь текст скрыт [показать]
     
     
  • 4.23, Аноним (-), 18:37, 20/03/2015 [^] [ответить]     [к модератору]  
  • –2 +/
    Иди в оППА пЫонер Делать из демьяна слаку - это для нищебpoдов пЫонеров Я собр... весь текст скрыт [показать]
     
     
  • 5.30, Аноним (-), 15:04, 21/03/2015 [^] [ответить]    [к модератору]  
  • +/
    Какой симпатичный батхертец НеПыОнЭра. Можно добавки? :)
     
  • 4.24, Аноним (-), 18:39, 20/03/2015 [^] [ответить]     [к модератору]  
  • –2 +/
    КОНЧАЙ БУХАТЬ дятел Ну дык я и писал - можно жыть а не жить - хорошо ... весь текст скрыт [показать]
     
     
  • 5.34, Аноним (-), 23:46, 21/03/2015 [^] [ответить]    [к модератору]  
  • –1 +/
    > Ну ты алкаш :)

    Интеллектуальный пост. Каким макаром чадо бухого слесаря до опеннета доползло?

     
  • 2.16, Аноним (-), 20:58, 19/03/2015 [^] [ответить]    [к модератору]  
  • +/
    > Есть что-то подобное для FreeBSD?

    Реинстал на линух. Поверьте, на линухе инструментировано много чего и сильно лучше чем у других. И дальше отрыв будет только увеличиваться.

     
     
  • 3.21, Аноним (-), 14:43, 20/03/2015 [^] [ответить]     [к модератору]  
  • –1 +/
    Угу, особенно системы тухлых пакетов инструментированы И тормо iptables И от... весь текст скрыт [показать]
     
     
  • 4.22, llolik (ok), 16:49, 20/03/2015 [^] [ответить]    [к модератору]  
  • +/
    > системы тухлых пакетов инструментированы

    этим занимаются. Да и можно подумать в BSD сильно лучше.
    > И тормо...iptables

    man nftables
    > И отсутствие zfs on root

    зачем? без претензий, просто интересно.

     
     
  • 5.25, Аноним (-), 18:44, 20/03/2015 [^] [ответить]     [к модератору]  
  • –2 +/
    Таки да В 10-ке pkg - это пестня И бинарные пакеты по заказу лапчатых, не ин... весь текст скрыт [показать]
     
     
  • 6.33, Аноним (-), 23:44, 21/03/2015 [^] [ответить]     [к модератору]  
  • +/
    Да, яхи и апачи такие лапчатые что до сих пор бзды не везде вынесли Но новые хо... весь текст скрыт [показать]
     
  • 5.26, Аноним (-), 19:30, 20/03/2015 [^] [ответить]     [к модератору]  
  • –1 +/
    Да, сильно лучше Порты и новый pkg Но главное тут порты Что-то не гуглится ... весь текст скрыт [показать]
     
     
  • 6.27, Аноним (-), 20:00, 20/03/2015 [^] [ответить]     [к модератору]  
  • –1 +/
    Правда больше общие достоинства ZFS описал, для zfs on root тут только отсутстви... весь текст скрыт [показать]
     
  • 6.32, Аноним (-), 15:14, 21/03/2015 [^] [ответить]     [к модератору]  
  • +1 +/
    Новый pkg - некий концепт С пустыми репами и отсутствием живых майнтайнеров у п... весь текст скрыт [показать]
     
     
  • 7.35, Аноним (-), 14:41, 22/03/2015 [^] [ответить]     [к модератору]  
  • +/
    Сорри, не понимаю вашего слэнга 500 Я думал о масштабе как минимум раз в 100 бо... весь текст скрыт [показать]
     
  • 4.31, Аноним (-), 15:08, 21/03/2015 [^] [ответить]     [к модератору]  
  • +/
    Так в продакшне суперсвежак нужен далеко не всегда А вот подтяжка некоей програ... весь текст скрыт [показать]
     
  • 1.3, Саша (??), 16:25, 19/03/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    а гуи нету?)
     
     
  • 2.5, Аноним (-), 16:48, 19/03/2015 [^] [ответить]    [к модератору]  
  • +2 +/
    > а гуи нету?)

    А надо? 8-о

     
     
  • 3.7, Аноним (-), 17:23, 19/03/2015 [^] [ответить]     [к модератору]  
  • –1 +/
    Гуёвщиков мы гоним гуями Но по теме - если бы чел поинтересовался - а не был бы... весь текст скрыт [показать]
     
  • 3.8, Аноним (-), 17:41, 19/03/2015 [^] [ответить]    [к модератору]  
  • +/
    А как я на серваке запущу?))
     
     
  • 4.9, Капитан (??), 18:07, 19/03/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    ssh туннель
     
  • 4.11, Аноним (-), 19:15, 19/03/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    вот так:
    # ./iosnoop
     
     
  • 5.18, Аноним (-), 01:29, 20/03/2015 [^] [ответить]    [к модератору]  
  • +/
    не лезь к пацану у его ssh дырявый вот и мучается))
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


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