Is io done idle event ?

Yuri Pudovchenko
Дата: 05.06.2006 15:38:50
Хотелось бы узнать у знающих, событие io done - является ли событием ожидания или это событие простоя ? Как его тюнить ?

Об этом событии у меня противоречивая информация:

1. Металинк относит его к активным событиям ожидания,
документ 293042.996.

2. Д.Бурлесон в своих скриптах начисто игнорирует это событие,
исключая его из рассмотрения наряду (в списке) с SQL*Net message from
client, т.е. считает его событием бездействия.
http://www.dbazine.com/oracle/or-articles/burleson8

3. Том Кайт тоже высказался по этому поводу:
IO done, this event is used by the IO slave processes (oracleInnn) when waiting
for slave IO processes to complete a request or by idle slave IO processes
waiting for work. This wait event is used in both IDLE and NON-IDLE conditions
so can be very misleading.
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:1154234872764

4. И наконц, в Статспаке есть табличка stats$idle_event, в которой этого
события нет. Т.е. Оракл считает его активным событием.


Какие мнения у народа по этому поводу, если в базе наблюдается много io done ?
Александр Соколов
Дата: 05.06.2006 15:53:55
Это активное событие ожидания.
io done
Сеанс ожидает, пока не будет завершена операция ввода-вывода или не станет
доступен подчиненный процесс, которому можно передать запрос на
ввод-вывод. Это событие возникает на платформах, которые не поддерживают
асинхронный ввод-вывод.
Время ожидания: 50 миллисекунд.
Александр Соколов
Дата: 05.06.2006 16:13:17
Класс ожидания этого событи - System I/O. Однако:
Добавление
The manual is misleading. This wait event is used by the IO slave processes when waiting for slave IO processes to complete a request or by idle slave IO processes waiting for work.
Yuri Pudovchenko
Дата: 05.06.2006 16:20:04
Спасибо, Александр, именно это мне и было нужно услышать,
и даже именно от Вас.

Так что же, товарищ Т. Кайт не прав когда пишет "This wait event is used in both IDLE and NON-IDLE conditions so can be very misleading" ?

Кстати,есть такая фундаментальная вещь как "Настройка систем баз данных с помощью анализа событий ожидания", было бы неплохо дополнить ее
событием io done. ;-)

Спасибо.
Александр Соколов
Дата: 05.06.2006 16:30:53
Yuri Pudovchenko
Так что же, товарищ Т. Кайт не прав когда пишет "This wait event is used in both IDLE and NON-IDLE conditions so can be very misleading" ?

Кайт прав, он списал это:
Oracle
This event is used by the IO slave processes when waiting for slave IO processes to complete a request or by idle slave IO processes waiting for work. Since this wait event is used in both IDLE and NON-IDLE conditions the value can be misleading. You may want to monitor the number of slaves being spawned to see if you have set an appropriate value for the parameter.

Yuri Pudovchenko
Кстати,есть такая фундаментальная вещь как "Настройка систем баз данных с помощью анализа событий ожидания", было бы неплохо дополнить ее
событием io done. ;-)

Дополнить могут только авторы...
Yuri Pudovchenko
Дата: 05.06.2006 19:00:40
Итак, делаем вывод:
большое значение статистики io done не позволяет сделать вывод о загрузке слейвов и DBWR, потому что процесс слейва может простаивать и тем самым увеличивать значение этой статистики. Другими словами, не являются показательными ни малые ни большие значения этой статистики.

Видимо прав был Дон Бурлесон игнорируя этот показатель.
Просто он игнорировал его не как idle, а как misleading.
Да ?


Как же тогда тюнить ввод/вывод со слейвами при отсутствии асинхроннки ?