Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Асинхронный ввод/вывод / 25 сообщений из 25, страница 1 из 1
27.05.2003, 10:03:26
    #32169191
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
Прочитала в книге "проверьте поддерживает ли операционная система асинхронный ввод/вывод". Не совсем поняла что имеется ввиду.

1) Речь идет о чтении и записи на диск? почему тогда это свойство ОС?
2) На первый взгляд синхронный ввод/вывод должен быть "круче".
3) Винда вроде как его не поддреживает?

Пожалуйста просвятите, что имеется ввиду под асинхронным вводом/выводом.
...
Рейтинг: 0 / 0
27.05.2003, 10:37:04
    #32169232
raven13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
1) Речь идет именно о поддержке асинхронного i/o, например в Solaris. И это действительно свойство ОС.
2) А какая разница. Кажется особых преимуществ в производителньости это не дает
3) Вроде как по этому делают несколько процессов DBW
...
Рейтинг: 0 / 0
27.05.2003, 10:40:52
    #32169239
mutate
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
·Q: 1. What is a Asynchronous I/O?

A: One of the most important enhancements on Red Hat Advanced Server with Oracle RDBMS 9.2 is asynchronous I/O (or nonblocking I/O) in the kernel. Before
the introduction of asynchronous I/O in Advanced Server, processes submitted disk I/O requests sequentially. Each I/O request would cause the calling process to
sleep until the request was completed. Asynchronous I/O allows a process to submit an I/O request without waiting for it to complete.


·Q: 2. What are the benefits of Asynchronous I/O?

A: The implementation of Asynchronous I/O on Red Hat Advanced Server allows Oracle processes to issue multiple I/O requests to disk with a single system call,
rather than a large number of single I/O requests. This improves performance in two ways:

- First, because a process can queue multiple requests for the kernel to handle, so the kernel can optimize disk activity by recording requests or combining individual
requests that are adjacent on disk into fewer and larger requests.

- Secondary, because the system does not put the process in sleep state while the hardware processes the request. So, the process is able to perform other tasks
until the I/O complete.

Да в винде такого нет..
при достаточно сильной нагрузке на IO асинхронный дает ощутимое приемущество.....
...
Рейтинг: 0 / 0
27.05.2003, 10:46:00
    #32169250
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
И так, осталось выяснить принцип работы.

Под асинхронным вводом/выводом имеется ввиду

1) система может одновременно и читать и писать?
2) возможность писать или читать несколько частей сразу?

или нечто другое?
...
Рейтинг: 0 / 0
27.05.2003, 10:49:49
    #32169260
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
to mutate

Спасибо!
...
Рейтинг: 0 / 0
27.05.2003, 11:10:53
    #32169312
raven13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
Как бы mutate написал
Asynchronous I/O allows a process to submit an I/O request without waiting for it to complete

То есть послал на запись и забыл. Конец операции приходит как сигнал об окончании процесса
...
Рейтинг: 0 / 0
27.05.2003, 11:14:55
    #32169327
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
Фича конечно интересная, но что если во время записи произойдет ошибка? Как процесс узнает об этом если он уже выполняет другие задания?
...
Рейтинг: 0 / 0
27.05.2003, 11:25:28
    #32169355
no name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
Асинхронный - не блокируемый
...
Рейтинг: 0 / 0
27.05.2003, 11:38:25
    #32169381
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
Ну хорошо, конкретный пример. Пусть DBWR0 пишет данные на диск в асинхронном режиме отправив данные на запись, он не ждет окончания операции записи а занимается другими делами либо ждет следующего вызова. А что если при этой записи произойдет ошибка? Ведь DBWR0 должен узнать о ней и выдать сообщение? или есть механизмы для последующей проверки успешности записи?
...
Рейтинг: 0 / 0
27.05.2003, 11:44:54
    #32169389
no name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
Могу ошибится. Вроде как используются сигналы для асинхронного ввода/вывода.
...
Рейтинг: 0 / 0
27.05.2003, 11:51:36
    #32169396
Violina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
То есть об успешности/ошибке записи процесу посылается сигнал, по которому он сможет узнать как завершилась данная операция?
...
Рейтинг: 0 / 0
27.05.2003, 13:18:26
    #32169515
raven13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
Для получения результатов используется 3 вещи
- сигнализация объектов устройств ядра (устройства переходят в несколько состояний)
- прерываемый ввод/вывод (х.з. что-то с очередями)
- событийная сигнализация (просо проверяется наступление события :-)
...
Рейтинг: 0 / 0
27.05.2003, 13:19:22
    #32169518
Aleksm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
Вопрос к DBA , которые работают с Oracle на сервера HP под HP UX.
А как обстоит дела с асинхронным вводом/выводом в этой ОС?

P.S.
Интересует практический опыт по улучшению производительности сервера с использованием данного метода.
...
Рейтинг: 0 / 0
28.05.2003, 01:27:17
    #32170197
vskv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
2 Aleksm: Судя по некоторым косвенным признакам -- очень плохо. По крайней мере только на HP видел как "sequential read" всего одного блока "собирал" толпу других читателей...
...
Рейтинг: 0 / 0
28.05.2003, 07:32:13
    #32170220
mutate
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
Один раз, на тестовой базе, при включении асинхронного режима (oracle 9.2.0.2 Linux AS 2.1) переодически система повисала (подвисал набор текста в телнете, хотя общая скорость работы базы падала незначително, пользователи не жаловались), причем потом выяснялось, что вроде как ресурсы все были свободны.. т.е. нагрузка незначительная.. Затем уже на других серверах такие-же переключения в асинхронный режим проходили нормально... Я так и не понял в чем было дело, подозреваю что это либо слабый контроллер, либо диски, т.е. что-то на уровне железа.. Пришлось его отключить..
Код: plaintext
1.
или есть механизмы для последующей проверки успешности записи?

сам задавался вопросом, как все это делается, но ничего не нарыл... Знаю, что овечает за это линуксовая библиотека libaio и libaio-devel, они вроде как гарантируют корректность всего обрабатываемого.
...
Рейтинг: 0 / 0
28.05.2003, 11:50:56
    #32170461
no name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
Я так понял на линухе асинхронный ио по умолчанию выключен. Для активации этой фичи нуна перекомпилить ядро Оракла

>su - oracle
>cd $ORACLE_HOME/rdbms/lib
>make -f ins_rdbms.mk async_on
>make -f ins_rdbms.mk ioracle

О как. Или я не прав?
...
Рейтинг: 0 / 0
28.05.2003, 20:44:21
    #32171301
mutate
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
2 no name

да совершенно верно...
и выставить оракловые параметры:
disk_asynch_io=true
filesystemio_options=asynch
...
Рейтинг: 0 / 0
29.05.2003, 17:53:11
    #32172172
ppp
ppp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
to mutate
"Да в винде такого нет..
при достаточно сильной нагрузке на IO асинхронный дает ощутимое приемущество....."

Eto kak ponimatj ? v NT i w2000 Asynchronous I/O bil i estj.
...
Рейтинг: 0 / 0
29.05.2003, 17:56:50
    #32172179
AI
AI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
v NT i w2000 Asynchronous I/O bil i estj.

Более того, включен по умолчанию.
...
Рейтинг: 0 / 0
29.05.2003, 21:32:47
    #32172326
killed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
>Более того, включен по умолчанию.

по-моему это direct IO был и есть на Винде. А вот про asynch IO я не уверен...
...
Рейтинг: 0 / 0
29.05.2003, 23:00:02
    #32172367
ppp
ppp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
Estj estj. V msdn.microsoft.com posmotretj mozno esli interesno. Poisk po kluchevim slovam )
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/synchronous_and_asynchronous_i_o.asp
...
Рейтинг: 0 / 0
29.05.2003, 23:03:03
    #32172368
Lazy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
Есть в виндах асинхронный ввод/вывод- файл можно открыть как для sync так и для async работы с ним. Насколько я знаю Oracle использует Async.

2killed
Насчет Direct - это ты про RAW, наверное?

2Al
> Более того, включен по умолчанию.
Хочешь сказать что его можно выключить?
...
Рейтинг: 0 / 0
29.05.2003, 23:36:58
    #32172375
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
думаю прочтение этих статей снимет большинство вопросов. А оставшиеся интересно будет обсудить :-)

http://ixora.com.au/notes/asynchronous_io.htm
http://ixora.com.au/notes/raw_asynchronous_io.htm
http://ixora.com.au/notes/fs_asynchronous_io.htm
...
Рейтинг: 0 / 0
30.05.2003, 12:32:52
    #32172718
no name
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
2 dba
В статье говорится что "Kernelized Asynchronous I/O" в линухе ожидается в 2.5 ядре, но в redhat 8.0 эта фича есть в 2.4.
...
Рейтинг: 0 / 0
30.05.2003, 13:07:38
    #32172775
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Асинхронный ввод/вывод
>В статье говорится что "Kernelized Asynchronous I/O" в линухе ожидается в
>2.5 ядре, но в redhat 8.0 эта фича есть в 2.4.

я уже отмечал, что последние пару лет Стив Адамс свой сайт не обновляет. Но от этого он не теряет своей ценности.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Асинхронный ввод/вывод / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]