The OpenNET Project / Index page

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

ioping - утилита для анализа отзывчивости подсистемы ввода/вывода

06.06.2011 17:23

Константин Хлебников разработал полезную утилиту ioping, позволяющую в стиле утилиты ping наблюдать за изменением отзывчивости системы ввода/вывода в Linux.

Пример выполнения:


   $ ioping /home
   4096 bytes from /home (ext4 /dev/sda5): request=1 time=0.4 ms
   4096 bytes from /home (ext4 /dev/sda5): request=2 time=0.8 ms
   4096 bytes from /home (ext4 /dev/sda5): request=3 time=0.9 ms
   4096 bytes from /home (ext4 /dev/sda5): request=4 time=0.3 ms
   4096 bytes from /home (ext4 /dev/sda5): request=5 time=0.2 ms
   --- . ioping statistics ---
   5 requests completed in 4266.5 ms
   min/avg/max/mdev = 0.2/0.5/0.9/0.1 ms



  1. Главная ссылка к новости (http://k001.livejournal.com/81...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/30791-ping
Ключевые слова: ping, debug, io, linux, monitoring
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (38) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, spanasik (ok), 17:35, 06/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А вот я бы структурки-то обнулял при объявлении сразу, в местах типа
    struct timeval tv = {0};
    так, на всякий случай.
     
     
  • 2.2, Аноним (-), 19:00, 06/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем? Первая строчка после объявления структуры - передача её в gettimeofday.
     
     
  • 3.5, spanasik (ok), 19:42, 06/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это когда сам всё пишешь и на 110% уверен, что там всё будет ОК, можно и так оставить. А когда юзаешь чужой код, дабы избежать трудноуловимых багов, порождённых иницилизацией структуры случайным мусором, лучше обнулять.


     
     
  • 4.9, bircoph (ok), 20:48, 06/06/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    вот так и возникают тормозные программы с грязным кодом...
     
     
  • 5.10, spanasik (ok), 20:49, 06/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Как ?


     
     
  • 6.11, zazik (ok), 20:51, 06/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Как ?

    Спроси у авторов Excel 2010, который не может открыть более одного файла с одинаковыми именами.

     
     
  • 7.12, spanasik (ok), 20:55, 06/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Был однажды вопрос к Windows Server-департаменту ихнему, по поводу одной ерунды в их ОС, в официальном форуме техподдержки (остальные способы техподдержки все очень платные) посоветовали прикупить дополнительное third-party ПО, которое фиксит этот вопрос за over 9000. Так что спасибо, нет желания у них что-либо спрашивать, да и не юзаю я этот самый Excel 2010 :-)

     
  • 7.15, letsmac (ok), 22:19, 06/06/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да самое оно для секретарш.  И чем вас это парит?
     
     
  • 8.31, zazik (ok), 09:31, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Мне приходится его использовать К счастью, дома я свободен в выборе софта ... текст свёрнут, показать
     

  • 1.3, Archer73 (ok), 19:04, 06/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Смущает время 0.2 ms

    ./ioping /home -c 6 -i 1 -D
    4096 bytes from /home (ext4 /dev/sdc2): request=1 time=14.7 ms
    4096 bytes from /home (ext4 /dev/sdc2): request=2 time=6.0 ms
    4096 bytes from /home (ext4 /dev/sdc2): request=3 time=0.2 ms
    4096 bytes from /home (ext4 /dev/sdc2): request=4 time=0.2 ms
    4096 bytes from /home (ext4 /dev/sdc2): request=5 time=2.5 ms
    4096 bytes from /home (ext4 /dev/sdc2): request=6 time=3.5 ms

    --- /home ioping statistics ---
    6 requests completed in 5028.8 ms
    min/avg/max/mdev = 0.2/4.5/14.7/5.0 ms

    ./ioping /dev/sdc2 -c 6 -i 1 -D
    4096 bytes from /dev/sdc2 (block device): request=1 time=29.5 ms
    4096 bytes from /dev/sdc2 (block device): request=2 time=13.3 ms
    4096 bytes from /dev/sdc2 (block device): request=3 time=8.5 ms
    4096 bytes from /dev/sdc2 (block device): request=4 time=7.8 ms
    4096 bytes from /dev/sdc2 (block device): request=5 time=15.8 ms
    4096 bytes from /dev/sdc2 (block device): request=6 time=18.2 ms

    --- /dev/sdc2 ioping statistics ---
    6 requests completed in 5094.0 ms
    min/avg/max/mdev = 7.8/15.5/29.5/7.3 ms

     
     
  • 2.32, Онаним (?), 10:27, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это оптимизации на уровне файловой системы. Уже не раз замечал, что тестирование (dd) раздела raid10 медленнее, чем тестирование большого файла в файловой системе, лежащей на этом же разделе.
     

  • 1.4, oneonfire (?), 19:14, 06/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всем пользователям Archlinux - милости прошу - https://aur.archlinux.org/packages.php?ID=49608
     
     
  • 2.33, Дмитрий (??), 10:34, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за PKGBUILD!
     

  • 1.16, ZaWertun (ok), 22:21, 06/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Репозитории для OpenSUSE (11.3, 11.4, Factory, Tumbleweed) и SLE (11, 11 SP1): http://download.opensuse.org/repositories/home:/ZaWertun:/console/
     
  • 1.17, Funt (?), 22:54, 06/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    где ebuild, не в одном оверлеи нету
     
     
  • 2.18, k0l0b0k (??), 23:17, 06/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    присоединяюсь к запросу. ебилды писать не умею (
     
     
  • 3.20, slepnoga (ok), 23:45, 06/06/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > присоединяюсь к запросу. ебилды писать не умею (

    Однака, зачем мало-мало гента пингвин ставил, крутада ?

    "Настоящие гентушники ебилдов не ждут, они их пишут" ( кто то и @g.org)

     
     
  • 4.21, k0l0b0k (??), 00:00, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    честно - некогда писать. и таки да, "Настоящие гентушники ебилдов не ждут, они их пишут" - враки. бывают еще и пользователи
     
     
  • 5.22, pavlinux (ok), 00:10, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Пользователь Gentoo, это даже смешнее, чем Windows сервер. :)
     
     
  • 6.24, VX (??), 01:01, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    ...сам пошутил, сам посмеялся.
     
  • 6.29, Sergey722 (ok), 08:51, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Пользователь Gentoo, это даже смешнее, чем Windows сервер. :)

    А если это Calculate?

     
     
  • 7.30, slepnoga (ok), 09:31, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Пользователь Gentoo, это даже смешнее, чем Windows сервер. :)
    > А если это Calculate?

    То вот это уже смешно. На чем не пытайся делать макось, все равно винда получится, и соотв юзера винде юзера сбегутся.
    Калька - это слишком много пиара при достаточно малом объеме дела.

     
  • 6.35, daks (ok), 12:34, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Пользователь Gentoo, это даже смешнее, чем Windows сервер. :)

    Как сказать. У меня жена является пользователем Gentoo. Точнее - Calculate с бинарным профилем. Полгода, полёт нормальный. Я только обновляю раз в неделю-две.

     
     
  • 7.36, ach (ok), 14:49, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Значит трясите разрабов Calculate. А проще, ей-Богу, посмотреть представленный PKGBUILD для арча, взять какой-нить ebuild для примера и сделать. Это только кажется, что трудно.
     
     
  • 8.38, daks (ok), 15:29, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо никого трясти, sys-process ioping-0 4 ebuild с утра в оверлее Calculate ... текст свёрнут, показать
     
  • 6.42, anonymous (??), 19:22, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Пользователь Gentoo, это даже смешнее, чем Windows сервер. :)

    Однако, пытавшийся хоть раз написать что-то для генты, знает, какой это геморрой. Использовать их навязанные функции и прочую ерунду. Сидел на слаке, писал слакбилды регулярно. Гента во многом удобнее слаки, но вот писать ебилды - та еще др*чь.

     
  • 2.34, daks (ok), 12:31, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ioping-0.4 в оверлее Calculate. Welcome.
     

  • 1.19, pavlinux (ok), 23:21, 06/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ./ioping /
    4096 bytes from / (xfs /dev/root): request=1 time=0.0 ms
    4096 bytes from / (xfs /dev/root): request=2 time=0.0 ms
    4096 bytes from / (xfs /dev/root): request=3 time=0.0 ms

    Пля... :)

     
     
  • 2.37, reminux (ok), 15:07, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это нирвана
     

  • 1.23, Buy (??), 00:49, 07/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Интересно! Скачал поставил ;) min/avg/max понятно, а что такое mdev?
     
     
  • 2.26, pavlinux (ok), 02:23, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >  min/avg/max понятно, а что такое mdev?

    time_avg = time_sum / request;
    sqrt(time_sum2 / request - time_avg * time_avg);

    корень из разности квадратов ... х.з, наверно cреднеквадратическое отклонение.

     

  • 1.25, pavlinux (ok), 02:01, 07/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/



    diff -ur a/ioping.c b/ioping.c
    --- a/ioping.c  2011-06-02 22:51:03.000000000 +0400
    +++ b/ioping.c  2011-06-07 02:35:12.126000920 +0400
    @@ -379,7 +379,7 @@

            if (S_ISDIR(st.st_mode)) {
                    char *tmpl = "/ioping.XXXXXX";
    -               char *temp = malloc(strlen(path) + strlen(tmpl) + 1);
    +               char *temp = calloc(1, PATH_MAX); // :)

                    if (!temp)
                            err(2, NULL);
    @@ -498,7 +498,7 @@

                    usleep(interval);
            }
    -
    +       free(buf); // end of posix_memalign()
            time_total = now() - time_total;

            time_sum += part_sum;



     
  • 1.27, pavlinux (ok), 03:47, 07/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    code diff -ur a ioping c b ioping c --- a ioping c 2011-06-02 22 51 03 0000000... большой текст свёрнут, показать
     
     
  • 2.28, Гентушник (ok), 07:06, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Ты это лучше в апстрим отправь, тут то зачем публикуешь?
     
     
  • 3.39, тру йода (?), 18:42, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Он тут свое ЧСВ удовлетворяет, если еще не понятно. С освоил - нешуточное дело. Но бабы не ценят, а вот опеннет - совсем другое дело.
     
     
  • 4.40, тру йода (?), 18:44, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по павлинуксу, кстати, бабы также не ценят Opteron и SSD. Приходится ему бедному время от времени на опеннете невзначай так про них упомянуть.
     
     
  • 5.41, x (?), 18:57, 07/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    он кстати нормальный чувак, в отличие от.
    и писать на Си может, когда другие только балаболят.
     

  • 1.43, товарищ (?), 19:33, 07/06/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    товарищи, объясните пожалуйста как эта утилитка работает?
     

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



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

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