LINUX.ORG.RU
ФорумTalks

Дисковая подсистема и новые утилиты

 , ,


0

0

Имеется задача измерять производительность записываемых данных на диск. Ребята из генту, не знаю когда и зачем, решили, что олдскульный iostat убог и запилили чудо-юдо dstat. Первое что поражает это цветастоть в консоли, которая в свое время покорила многих людей (помните «дайте пример PS1» из начала 2000-х ?). К сожалению, половину полей из iostat новый dstat просто не показывает. Плюс, до всего надо догадываться самому, ибо все именуется либо «read», либо «writ» и по числам гадать, что это за цифры.

http://dag.wieers.com/home-made/dstat/

Документация надо признать тоже не блещет подробностями. Но самое удивительное, что цифры по дисковой системе берутся с потолка: неважно как работает диск, если в него пишутся данные хоть целый день, на деле ... на деле все не так. Когда горит лампочка/светодиод или очень активно мерцает ощущаются тормоза в системе, но не будем об этом баге, 12309 или как там его. Но dstat никак это не отражает, он может показывать tps в 300-500 и запись по 1-2mb даже тогда, когда светодиод не горит (кстати, тормозов вообще нет). Когда горит - цифры не меняются. Вообще. Всегда. dstat скорей всего не причем, он просто берет данные из /proc. Я просто в шоке.

Вопрос тем, кто знает как измерять реальную текущую нагрузку на диски, в линуксе это вообще реально? Или из серии фантастики, что пишется в /proc и есть «реальные» данные; хотя, по только что описанному опыту это не так ?

P.S. Ядро 3.7.4, диск какой-то samsung на sata II, smart в норме, hdparm -Tt = 3400/120 MB/s (точнее не могу дать подробностей, комп на работе и выключен).

★★★★★

Последнее исправление: gh0stwizard (всего исправлений: 1)

iotop всегда адекватно работал, вроде. По крайней мере, его показания у меня с когнитивного диссонанса не вызывали и с тормозами хорошо коррелировали.

Axon ★★★★★
()
Ответ на: комментарий от Axon

Насколько я понимаю htop с вкладками io/iowr будет показывать тоже самое. Проверю еще раз в понедельник, но походу ничего не поменяется.

Детально могу сказать, что в качестве фс используется jfs (рам на диске 16мб, дисковый кэш в системе около 2гб) и rrdcached, который пишет данные в rrd-базы на 100гб+ примерно каждые пять минут. Хотелось знать сколько данных прогоняет система на обновление всех баз за определенный промежуток времени, но все, что видно это то, что rrdcached вгоняет данные сначала в систему, а потом ядерный процесс jfsCommit пишет какие-то данные (опять же, корреляции с мерцанием светодиода не было выявлено) якобы на диск. Цифры, которые гоняются по дисковому кэшу ОС вообще не интересны, интересно сколько байт скидывается непосредственно на диск.

gh0stwizard ★★★★★
() автор топика

так в app-admin/sysstat выпилили что-ли?

bl ★★★
()

file /usr/bin/dstat
/usr/bin/dstat: Python script, ASCII text executable
Этот самый dstat? Чего ты хотел от программы на питоне?
iostat на месте и работает.
qfile /usr/bin/iostat
app-admin/sysstat (/usr/bin/iostat)

imul ★★★★★
()
Ответ на: комментарий от imul

Нет, чтобы работало, а не валилось с трейсами налево и направо.

У меня с iotop такого ни разу не было за всё время использования. Я даже и не подозревал что оно на питоне, тут только однажды случайно узнал.

firestarter ★★★☆
()
Последнее исправление: firestarter (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.