LINUX.ORG.RU

о поисках боттлнека

 ,


0

2

Я тут перетаскиваю свой домашний NAS с дико тормозного программного RAID5 на шустрый RAID0. Понятное дело, backup + restore.
И стало мне интересно. Restore очень медленно идет. Несчастных 350 гигов за 9 часов. Ну да, USB2. Скорее всего. А я вдруг задумался - а точно ли, всегда ли я это знаю? Можно ли достоверно узнать, где в цепочке передачи данных с одной дисковой системы на другую - боттлнек? Какие есть тулзы для этого? Или в ядрышке где подсмотреть через /proc?

★★★★★

Ответ на: комментарий от TOXA

Смотрю на него. Он разве дает разбивку io процесса по всему пайпу? Есть вот у меня процесс cp. Как я могу знать из iotop, где он тормозит?

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

А я еще помню usb1.1 .... был у меня cd recorder. Удивительно быстро записывал диски:)

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

пардон, там не видно... но там есть загруженность процесса по всему IO в системе, для восстановления должна быть не менее 90% и скорость записи на диск должна приближаться к теоритической. Далее смотрим в размер кеша ядра: если он сожрал все свободную память, то прблема явно в производительности диска на запись. Restore идет с USB на SATA, я правильно понимаю?

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

Да, с usb на sata. Нет, в данном случае все очевидно как бы. А вот если был usb3 - разве столь очевидно?

Насчет кеша ядра - я не очень понял мысль. Вижу, что free выдает очень небольшой размер свободной памяти.

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

прошу прощения за непоследовательное изложение мыслей.

итак, мы имеем теоритическую скорость записи на SATA диски в районе 50МиБ/сек, скорость чтения с USB 2.0(SATA-USB контроллер) диска примерно в 40 МиБ/сек, т.е. по-хорошему должно получаться так, что кеш не будет использоваться(будет ибо смонтировано без sync?), значит в iotop мы должны видеть цифры не менее половины от теоритических, ну может быть чуть меньше(фрагментация, seek, журнал и все такое), значит в вашем случае будет видно какая часть тормзит.

насчет всяких там статистик, есть /proc/diskstats, есть /proc/<pid>/io, есть /proc/<pid>/fdinfo/*, но как это в данном случае может помочь не могу сказать

TOXA ★★
()

шустрый RAID0

RAID0 - это просто сцепленные диски, без параллелизации В/В? Таки не понял, с чего бы ему быть шустрым.

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

Ну, по сравнению с пятым он шустрее по определению, ибо CPU (довольно слабый, кстати в данном случае Terastation Live) практически не занят.
А еще он шустрее, за счет того, что четный и нечетный блоки могут писаться и читаться параллельно. Теоретиццки...

svu ★★★★★
() автор топика
Последнее исправление: svu (всего исправлений: 1)
Ответ на: комментарий от TOXA

скорость чтения с USB 2.0(SATA-USB контроллер) диска примерно в 40 МиБ/сек

20 мегабайт в секунду (коробочка USB2 с SATA-HDD). Почти одна минута на гигабайт. Почти 350 минут на 350GB. Итого - почти 6 часов только на данные. Не так уж всё и страшно

no-dashi ★★★★★
()
Ответ на: комментарий от svu

четный и нечетный блоки могут писаться и читаться параллельно. Теоретиццки...

Слово «теоретиццки» очень правильное.

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

ну на моей коробочке Transcend(модель не помню) на 500 GB, ~30-35 копирование на него и ~40-45 с него, при том что там NTFS и на USB еще подцеплен iPod, клава и мышь, но это под виндой, под Linux получается поцентов на 15-20 медленнее

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

он разгружает CPU который на 3й диск считал XOR первого и второго(ну или хз какую еще функцию), а так получается те же диски только данные разбиваются на 3 блока(если из трех дисков) и пишутся параллельно, думаю все в курсе что таке RAID 0... Отсюда еще возможность для тормзов: размер данных меньше размера записываемого параллельно блока, поэтому системе приходиться дописывать блок нулями(или мусором), чтобы записать целый блок => потеря производительности

TOXA ★★
()
Ответ на: комментарий от no-dashi

А в реальности оно совсем недостижимо? Я понимаю, что теоретическое *2 почти не бывает, кроме идеальных бенчмарков, но хоть немного лучше, чем один диск - может быть в реале?

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

Получается 12Мбайт в секунду. Не густо... Файловые системы на обоих дисках - xfs. Файлы в основном большие - кины.

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

На RAID0 x2 бывает, если размер записи на диск равен размеру страйпа, и операции «пишем подряд» или «читаем подряд».

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

У меня довольно часто «пишем подряд». Но пишем с сетевого интерфейса, источники довольно тормозные. А, кстати, «читаем подряд» - это же про кины? Хотя... ведь никто не сказал, что файловая система кину разложит последовательно...

svu ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.