Gentoo Archives: gentoo-user-ru

From: Sergey Kobzar <sergey.kobzar@××××.ru>
To: gentoo-user-ru@l.g.o
Subject: [gentoo-user-ru] Re[2]: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re[2]: [gentoo-user-ru] Re: Насущный вопрос о тормозах при интенсивном I/O
Date: Tue, 02 Mar 2010 19:59:20
Message-Id: 1253010016.20100302215921@mail.ru
In Reply to: Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re[2]: [gentoo-user-ru] Re: Насущный вопрос о тормозах при интенсивном I/O by Alex Efros
1 Могу добавить, что если запускаю один dd - все ОК, скорость >150M
2 доходит. Как только на диск пишет несколько процессов, суммартная
3 скорость не превышает 40М.
4
5 Tuesday, March 2, 2010, 9:20:42 PM, Alex wrote:
6
7 > Hi!
8
9 > On Tue, Mar 02, 2010 at 06:26:09PM +0300, Alexander Tiurin wrote:
10 >> >> Что касается скрипта для сбора статистики - думаю, lshw более чем
11 >> >> достаточно.
12 >> > А как lshw будет генерировать "характерную" и наиболее наглядную для
13 >> > обсуждаемоей проблемы нагрузку на систему ввода/вывода?
14
15 > lshw не генерирует нагрузку, он соберёт инфу по установленному железу
16
17 >> Для генерации нагрузки предется как-то определяться в виде
18 >> последовательности заранее договоренных действий.
19
20 > В комментариях в багзилле ядра приводилось несколько вариантов генерации
21 > нагрузки. Сложность ещё и в том, что там мешанина нескольких разных багов.
22 > Часть этих багов более-менее пофиксили, поэтому многие отмечают улучшения
23 > производительности на ядрах >=2.6.31. Но тот баг, который был у меня, пока
24 > не отловили.
25
26 > И этот баг можно протестировать достаточно просто: при копировании больших
27 > файлов (желательно, объёмом на 1GB больше доступной RAM чтобы исключить
28 > кеширование) чётко наблюдаются два эффекта - крайне низкая скорость и
29 > высокий iowait (ну и тормозит интерфейс, конечно, но это сложно замерить в
30 > тестах).
31
32 > Соответственно, самый простой вариант теста - запуск dd на чтение, запись,
33 > или чтение/запись. Ещё можно запустить несколько dd параллельно.
34
35 > Пример:
36
37 > # hdparm -t /dev/sda
38 >
39 > /dev/sda:
40 > Timing buffered disk reads: 332 MB in 3.01 seconds = 110.45 MB/sec
41 >
42 > # dd if=/dev/zero of=test1 bs=1M count=5000
43 > 5000+0 записей считано
44 > 5000+0 записей написано
45 > скопировано 5242880000 байт (5.2 GB), 53.1426 c, 98.7 MB/c
46 >
47 > # dd if=test1 of=/dev/null bs=1M
48 > 5000+0 записей считано
49 > 5000+0 записей написано
50 > скопировано 5242880000 байт (5.2 GB), 49.6235 c, 106 MB/c
51 >
52 > # dd if=test1 of=test2 bs=1M
53 > 5000+0 записей считано
54 > 5000+0 записей написано
55 > скопировано 5242880000 байт (5.2 GB), 117.685 c, 44.5 MB/c
56
57 > На старом винте (с тормозами), у меня hdparm выдавал примерно то же самое
58 > (80-100 MB/sec), а вот dd выдавал максимум 20 MB/sec, а иногда и 3 MB/sec
59 > (причём это в одну сторону, чтение либо запись, а не копирование!).
60
61 > Что касается высокого iowait, то в моём случае он не изменился - `vmstat 1`
62 > по-прежнему показывает iowait порядка 40-60%, что на старом винте с
63 > тормозами что на новом без тормозов. А вот интерфейс на новом винте не
64 > тормозит, так что, получается, высокий iowait это ещё не показатель
65 > тормозов интерфейса.
66
67 > В результате, в моём случае есть два чётких критерия: скорость работы dd и
68 > тормоза интерфейса. Как измерить второе не ясно, зато первое проверяется
69 > элементарно. Я бы предложил для начала ограничиться сбором статистики по
70 > железу только у тех, у кого наблюдаются полностью идентичные моим симптомы -
71 > т.е. тормоза dd - чтобы попытаться изолировать один баг.
72
73
74
75
76 --
77 Sergey

Replies