1 |
Hi! |
2 |
|
3 |
On Tue, Mar 02, 2010 at 06:26:09PM +0300, Alexander Tiurin wrote: |
4 |
> >> Что касается скрипта для сбора статистики - думаю, lshw более чем |
5 |
> >> достаточно. |
6 |
> > А как lshw будет генерировать "характерную" и наиболее наглядную для |
7 |
> > обсуждаемоей проблемы нагрузку на систему ввода/вывода? |
8 |
|
9 |
lshw не генерирует нагрузку, он соберёт инфу по установленному железу |
10 |
|
11 |
> Для генерации нагрузки предется как-то определяться в виде |
12 |
> последовательности заранее договоренных действий. |
13 |
|
14 |
В комментариях в багзилле ядра приводилось несколько вариантов генерации |
15 |
нагрузки. Сложность ещё и в том, что там мешанина нескольких разных багов. |
16 |
Часть этих багов более-менее пофиксили, поэтому многие отмечают улучшения |
17 |
производительности на ядрах >=2.6.31. Но тот баг, который был у меня, пока |
18 |
не отловили. |
19 |
|
20 |
И этот баг можно протестировать достаточно просто: при копировании больших |
21 |
файлов (желательно, объёмом на 1GB больше доступной RAM чтобы исключить |
22 |
кеширование) чётко наблюдаются два эффекта - крайне низкая скорость и |
23 |
высокий iowait (ну и тормозит интерфейс, конечно, но это сложно замерить в |
24 |
тестах). |
25 |
|
26 |
Соответственно, самый простой вариант теста - запуск dd на чтение, запись, |
27 |
или чтение/запись. Ещё можно запустить несколько dd параллельно. |
28 |
|
29 |
Пример: |
30 |
|
31 |
# hdparm -t /dev/sda |
32 |
|
33 |
/dev/sda: |
34 |
Timing buffered disk reads: 332 MB in 3.01 seconds = 110.45 MB/sec |
35 |
|
36 |
# dd if=/dev/zero of=test1 bs=1M count=5000 |
37 |
5000+0 записей считано |
38 |
5000+0 записей написано |
39 |
скопировано 5242880000 байт (5.2 GB), 53.1426 c, 98.7 MB/c |
40 |
|
41 |
# dd if=test1 of=/dev/null bs=1M |
42 |
5000+0 записей считано |
43 |
5000+0 записей написано |
44 |
скопировано 5242880000 байт (5.2 GB), 49.6235 c, 106 MB/c |
45 |
|
46 |
# dd if=test1 of=test2 bs=1M |
47 |
5000+0 записей считано |
48 |
5000+0 записей написано |
49 |
скопировано 5242880000 байт (5.2 GB), 117.685 c, 44.5 MB/c |
50 |
|
51 |
На старом винте (с тормозами), у меня hdparm выдавал примерно то же самое |
52 |
(80-100 MB/sec), а вот dd выдавал максимум 20 MB/sec, а иногда и 3 MB/sec |
53 |
(причём это в одну сторону, чтение либо запись, а не копирование!). |
54 |
|
55 |
Что касается высокого iowait, то в моём случае он не изменился - `vmstat 1` |
56 |
по-прежнему показывает iowait порядка 40-60%, что на старом винте с |
57 |
тормозами что на новом без тормозов. А вот интерфейс на новом винте не |
58 |
тормозит, так что, получается, высокий iowait это ещё не показатель |
59 |
тормозов интерфейса. |
60 |
|
61 |
В результате, в моём случае есть два чётких критерия: скорость работы dd и |
62 |
тормоза интерфейса. Как измерить второе не ясно, зато первое проверяется |
63 |
элементарно. Я бы предложил для начала ограничиться сбором статистики по |
64 |
железу только у тех, у кого наблюдаются полностью идентичные моим симптомы - |
65 |
т.е. тормоза dd - чтобы попытаться изолировать один баг. |
66 |
|
67 |
-- |
68 |
WBR, Alex. |