|
|
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
Прочитала в книге "проверьте поддерживает ли операционная система асинхронный ввод/вывод". Не совсем поняла что имеется ввиду. 1) Речь идет о чтении и записи на диск? почему тогда это свойство ОС? 2) На первый взгляд синхронный ввод/вывод должен быть "круче". 3) Винда вроде как его не поддреживает? Пожалуйста просвятите, что имеется ввиду под асинхронным вводом/выводом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 10:03:26 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
1) Речь идет именно о поддержке асинхронного i/o, например в Solaris. И это действительно свойство ОС. 2) А какая разница. Кажется особых преимуществ в производителньости это не дает 3) Вроде как по этому делают несколько процессов DBW ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 10:37:04 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
·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 асинхронный дает ощутимое приемущество..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 10:40:52 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
И так, осталось выяснить принцип работы. Под асинхронным вводом/выводом имеется ввиду 1) система может одновременно и читать и писать? 2) возможность писать или читать несколько частей сразу? или нечто другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 10:46:00 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
to mutate Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 10:49:49 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
Как бы mutate написал Asynchronous I/O allows a process to submit an I/O request without waiting for it to complete То есть послал на запись и забыл. Конец операции приходит как сигнал об окончании процесса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 11:10:53 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
Фича конечно интересная, но что если во время записи произойдет ошибка? Как процесс узнает об этом если он уже выполняет другие задания? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 11:14:55 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
Асинхронный - не блокируемый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 11:25:28 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
Ну хорошо, конкретный пример. Пусть DBWR0 пишет данные на диск в асинхронном режиме отправив данные на запись, он не ждет окончания операции записи а занимается другими делами либо ждет следующего вызова. А что если при этой записи произойдет ошибка? Ведь DBWR0 должен узнать о ней и выдать сообщение? или есть механизмы для последующей проверки успешности записи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 11:38:25 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
Могу ошибится. Вроде как используются сигналы для асинхронного ввода/вывода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 11:44:54 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
То есть об успешности/ошибке записи процесу посылается сигнал, по которому он сможет узнать как завершилась данная операция? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 11:51:36 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
Для получения результатов используется 3 вещи - сигнализация объектов устройств ядра (устройства переходят в несколько состояний) - прерываемый ввод/вывод (х.з. что-то с очередями) - событийная сигнализация (просо проверяется наступление события :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 13:18:26 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
Вопрос к DBA , которые работают с Oracle на сервера HP под HP UX. А как обстоит дела с асинхронным вводом/выводом в этой ОС? P.S. Интересует практический опыт по улучшению производительности сервера с использованием данного метода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2003, 13:19:22 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
2 Aleksm: Судя по некоторым косвенным признакам -- очень плохо. По крайней мере только на HP видел как "sequential read" всего одного блока "собирал" толпу других читателей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2003, 01:27:17 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
Один раз, на тестовой базе, при включении асинхронного режима (oracle 9.2.0.2 Linux AS 2.1) переодически система повисала (подвисал набор текста в телнете, хотя общая скорость работы базы падала незначително, пользователи не жаловались), причем потом выяснялось, что вроде как ресурсы все были свободны.. т.е. нагрузка незначительная.. Затем уже на других серверах такие-же переключения в асинхронный режим проходили нормально... Я так и не понял в чем было дело, подозреваю что это либо слабый контроллер, либо диски, т.е. что-то на уровне железа.. Пришлось его отключить.. Код: plaintext 1. сам задавался вопросом, как все это делается, но ничего не нарыл... Знаю, что овечает за это линуксовая библиотека libaio и libaio-devel, они вроде как гарантируют корректность всего обрабатываемого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2003, 07:32:13 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
Я так понял на линухе асинхронный ио по умолчанию выключен. Для активации этой фичи нуна перекомпилить ядро Оракла >su - oracle >cd $ORACLE_HOME/rdbms/lib >make -f ins_rdbms.mk async_on >make -f ins_rdbms.mk ioracle О как. Или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2003, 11:50:56 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
2 no name да совершенно верно... и выставить оракловые параметры: disk_asynch_io=true filesystemio_options=asynch ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2003, 20:44:21 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
to mutate "Да в винде такого нет.. при достаточно сильной нагрузке на IO асинхронный дает ощутимое приемущество....." Eto kak ponimatj ? v NT i w2000 Asynchronous I/O bil i estj. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 17:53:11 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
v NT i w2000 Asynchronous I/O bil i estj. Более того, включен по умолчанию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 17:56:50 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
>Более того, включен по умолчанию. по-моему это direct IO был и есть на Винде. А вот про asynch IO я не уверен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 21:32:47 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 23:00:02 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
Есть в виндах асинхронный ввод/вывод- файл можно открыть как для sync так и для async работы с ним. Насколько я знаю Oracle использует Async. 2killed Насчет Direct - это ты про RAW, наверное? 2Al > Более того, включен по умолчанию. Хочешь сказать что его можно выключить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 23:03:03 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
думаю прочтение этих статей снимет большинство вопросов. А оставшиеся интересно будет обсудить :-) 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 23:36:58 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
2 dba В статье говорится что "Kernelized Asynchronous I/O" в линухе ожидается в 2.5 ядре, но в redhat 8.0 эта фича есть в 2.4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2003, 12:32:52 |
|
||
|
Асинхронный ввод/вывод
|
|||
|---|---|---|---|
|
#18+
>В статье говорится что "Kernelized Asynchronous I/O" в линухе ожидается в >2.5 ядре, но в redhat 8.0 эта фича есть в 2.4. я уже отмечал, что последние пару лет Стив Адамс свой сайт не обновляет. Но от этого он не теряет своей ценности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2003, 13:07:38 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32169389&tid=1990264]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
413ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 788ms |

| 0 / 0 |
