powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Асинхронный ввод/вывод
25 сообщений из 25, страница 1 из 1
Асинхронный ввод/вывод
    #32169191
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитала в книге "проверьте поддерживает ли операционная система асинхронный ввод/вывод". Не совсем поняла что имеется ввиду.

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

Пожалуйста просвятите, что имеется ввиду под асинхронным вводом/выводом.
...
Рейтинг: 0 / 0
Асинхронный ввод/вывод
    #32169232
raven13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Речь идет именно о поддержке асинхронного i/o, например в Solaris. И это действительно свойство ОС.
2) А какая разница. Кажется особых преимуществ в производителньости это не дает
3) Вроде как по этому делают несколько процессов DBW
...
Рейтинг: 0 / 0
Асинхронный ввод/вывод
    #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
Асинхронный ввод/вывод
    #32169250
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И так, осталось выяснить принцип работы.

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

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

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

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

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

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

сам задавался вопросом, как все это делается, но ничего не нарыл... Знаю, что овечает за это линуксовая библиотека libaio и libaio-devel, они вроде как гарантируют корректность всего обрабатываемого.
...
Рейтинг: 0 / 0
Асинхронный ввод/вывод
    #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
Асинхронный ввод/вывод
    #32171301
mutate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 no name

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

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

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

по-моему это direct IO был и есть на Винде. А вот про asynch IO я не уверен...
...
Рейтинг: 0 / 0
Асинхронный ввод/вывод
    #32172367
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
Асинхронный ввод/вывод
    #32172368
Lazy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть в виндах асинхронный ввод/вывод- файл можно открыть как для sync так и для async работы с ним. Насколько я знаю Oracle использует Async.

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

2Al
> Более того, включен по умолчанию.
Хочешь сказать что его можно выключить?
...
Рейтинг: 0 / 0
Асинхронный ввод/вывод
    #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
Асинхронный ввод/вывод
    #32172718
no name
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 dba
В статье говорится что "Kernelized Asynchronous I/O" в линухе ожидается в 2.5 ядре, но в redhat 8.0 эта фича есть в 2.4.
...
Рейтинг: 0 / 0
Асинхронный ввод/вывод
    #32172775
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>В статье говорится что "Kernelized Asynchronous I/O" в линухе ожидается в
>2.5 ядре, но в redhat 8.0 эта фича есть в 2.4.

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


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