powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / По поводу использования raw
7 сообщений из 7, страница 1 из 1
По поводу использования raw
    #32077224
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть статья с результатами тестирования Oracle на разных fs:
http://www.linuxjournal.com/article.php?sid=5841.
Честно говоря я не заметил, что raw имеет какое-либо преимущество.
Ext2 имеет же очень неплохие показатели. По крайней мере нет никаких оснований говорить, что raw имеет какие-либо значительные преимущества, что-бы однозначно переходить на него.
...
Рейтинг: 0 / 0
По поводу использования raw
    #32077378
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда эта статья обсуждалась в комьюнити около года назад, общее мнение, насколько я помню, состояло в том, что статья написана не очень аккуратно. Закрывая глаза на то, как автор именует и пропорционально увеличивает log buffer, а также многие другие несуразицы, что можно сказать по поводу raw devices:

===
I personally had a very hard time with RAW devices doing so poorly. So for the TPC-C benchmarks, I added another benchmarking test scenario, giving the RAW device-based database twice the memory allocation as its cooked filesystem counterparts. I did this because I thought that the Linux filesystem buffer cache might be skewing my test results.
===

Неясно, как автор распределял дополнительную память под базу. Очень похоже на то, как он это делал в Part1. Т.е. пропорционально увеличивая data buffer cache, shared pool and log buffer. Очень похоже на то. Тогда как по понятным причинам нужно увеличивать только data buffer cache. Автор в 2 раза увеличил память "под базу" и получил около 1% увеличения производительности в целом. Очевидно, что характер нагрузки протестированный автором направлен в основном на запись данных и слабо учитывает чтение, что достаточно странно для OLTP. В этом случае практически не работает data buffer cache и видно, что от него практически нулевая отдача. Опять же не ясно какой объем памяти был изначально отведен на базу от общего объема памяти.
...
Рейтинг: 0 / 0
По поводу использования raw
    #32079065
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот протестировал на скорую руку raw vs. fs
Честно говоря результаты не удовлетворили :-)

Использовались две таблицы одинакового размера, одна на raw (table_raw) и другая на fs (table_fs)

table_fs = table_raw = 200.052 blocks = 819,5 M

система:
Oracle 8.1.7.4
RH 7.3 ядро 2.4.18-3smp #1 SMP

Железо:
2xP3 1.4GHz
mem 2G
I/O - IDE Fasttrack контроллер RAID 1 (на уровне контроллера)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 1 )Cache buffer SGA = 4K *  200 . 800  =  822 , 5  M
shared pool = 120M
Total System Global Area =  1020  M

	Результаты FTS:

	table_raw		( 100 % physical reads)	40s
	table_fs		( 100 % physical reads)	 14 ,5s	(используется cache fs)
	table_raw		( 0  physical reads)		 2 ,7s
	table_fs		( 0  physical reads)		 2 ,7s

 2 )Cache buffer SGA = 4K *  425 . 200  =  1741  M
shared pool =  20  M
Total System Global Area =  1853  M

	Результаты FTS:

	table_fs		( 100 % physical reads)	24s	(используется cache fs)

т.е. то, что однозначно лучше кешировать в SGA, чем в fs сомнению не подлежит, а вот что происходит с остальной физ. памятью (не занятой под SGA)? Получается, что она в любом случае выделяется по кеш fs и при этом чтение оттуда все таки значительно быстрее, чем чтение с raw. И как тогда быть с рекомендациями Оракла выделять не более 0,4-0,5 физ. памяти под SGA?
...
Рейтинг: 0 / 0
По поводу использования raw
    #32079110
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот нашел интересную на мой взгляд статью на эту тему. Хотя многие тезисы автора мне кажутся сомнительными. Например это:

In DSS and large reporting environments, where a large data cache can actually have a negative impact to performance (due to the constant memory management overhead associated with flushing and reading blocks into memory) it is also highly recommended that buffered I/O not be used.

Не думаю, что при простом кешировании для чтения будут такие же большие накладные расходы, как для кеширования данных с интенсивной записью.

Т.е. автор сначала говорит, что для приложений с любым характером доступа к данным лучше использовать direct I/O, а в выводах говориться о том, что buffered I/O может быть рекомендован для данных с малой интенсивностью одновременных операций чтения и записи.
...
Рейтинг: 0 / 0
По поводу использования raw
    #32079169
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошая статья, спасибо за ссылку.
Что касается выдержки из статьи (сорри, выделить не могу, в мозилле кнопочки не работают):

In DSS and large reporting environments, where a large data cache can actually have a negative impact to performance (due to the constant memory management overhead associated with flushing and reading blocks into memory) it is also highly recommended that buffered I/O not be used.

Здесь, насколько я понимаю, автор совершенно правильно говорит о том, что в силу природы запросов с большим объемом чтения данных в DSS, кэш файловой системы будет очень сильно размываться постоянным чтением большого объема блоков с диска. Если кэш-буфер Оракла "знает" о шаблоне доступа к данным (и следовательно защищен от размывания от FTS-операций), то кэш файловой системы просто кэширует поток данных с подсистемы ввода/вывода. Именно по этому твой тест (как мне кажется) не будет отражать реальной картины. Вывод: если есть возможность, лучше сознательно отдать больше памяти под кэш Оракла, чем ОС без спроса заберет у тебя под кэш файловой системы. Далее, я как-то говорил, что у Линукса достаточно слабенькие файловые системы, по сравнению с Unix-системами. 1) Макс. размер блока (и буфера) ФС = 4К. Для Оракла в наши дни 4К видится маленьким блоком даже для _чистой_ОЛТП_ Вопрос как поведет себя система при db_block_size=16К ? Кстати никто не знает, где подкручивается кол-во блоков упреждающего чтения (read ahead) в ext2? Асинхронный и прямой ВВ пока не поддерживается.

Какой был db_file_multiblock_read_count? Для варианта на raw devices в DSS лучше читать операциями с max I/O size, а для варианта на файловой системе все что выше read ahead не даст выигрыша. Да и любая "большая" операция ВВ будет терять на буферизации по 4К.

Я по-прежнему за raw devices, хотя у меня нет тестов, чтобы подтвердить этот выбор, все доводы только теория.
...
Рейтинг: 0 / 0
По поводу использования raw
    #32079617
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу статьи. Я тоже прочитал. Но очень уж она похожа на раздел статьи
Implementing Raid On Oracle Systems, Gaja Krishna Vaidyanatha (orapub.com) посвященной raw devices. И еще она напоминает некоторые выводы из книги,
Oracle 8i and Unix. Perfomance tuning.
Оба источника опубликованы значительно раньше.
...
Рейтинг: 0 / 0
По поводу использования raw
    #32080484
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Какой был db_file_multiblock_read_count? Для варианта на raw devices в DSS
>лучше читать операциями с max I/O size, а для варианта на файловой
>системе все что выше read ahead не даст выигрыша. Да и любая "большая"
>операция ВВ будет терять на буферизации по 4К.

db_file_multiblock_read_count был 128, но честно говоря я не увидел большого влияния этого параметра на производительность. При дефолтном значении 8 работает процентов на 5-7 медленнее, но не более. Перебор значений 32, 64, 128, 256 ощутимого влияния не оказывают. Чуть попозже попробую пересоздать базу с большим размером блока.

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


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