|
|
|
По поводу использования raw
|
|||
|---|---|---|---|
|
#18+
Есть статья с результатами тестирования Oracle на разных fs: http://www.linuxjournal.com/article.php?sid=5841. Честно говоря я не заметил, что raw имеет какое-либо преимущество. Ext2 имеет же очень неплохие показатели. По крайней мере нет никаких оснований говорить, что raw имеет какие-либо значительные преимущества, что-бы однозначно переходить на него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2002, 10:46 |
|
||
|
По поводу использования raw
|
|||
|---|---|---|---|
|
#18+
Когда эта статья обсуждалась в комьюнити около года назад, общее мнение, насколько я помню, состояло в том, что статья написана не очень аккуратно. Закрывая глаза на то, как автор именует и пропорционально увеличивает 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 и видно, что от него практически нулевая отдача. Опять же не ясно какой объем памяти был изначально отведен на базу от общего объема памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2002, 14:21 |
|
||
|
По поводу использования raw
|
|||
|---|---|---|---|
|
#18+
Вот протестировал на скорую руку 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. т.е. то, что однозначно лучше кешировать в SGA, чем в fs сомнению не подлежит, а вот что происходит с остальной физ. памятью (не занятой под SGA)? Получается, что она в любом случае выделяется по кеш fs и при этом чтение оттуда все таки значительно быстрее, чем чтение с raw. И как тогда быть с рекомендациями Оракла выделять не более 0,4-0,5 физ. памяти под SGA? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2002, 16:09 |
|
||
|
По поводу использования raw
|
|||
|---|---|---|---|
|
#18+
Вот нашел интересную на мой взгляд статью на эту тему. Хотя многие тезисы автора мне кажутся сомнительными. Например это: 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 может быть рекомендован для данных с малой интенсивностью одновременных операций чтения и записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2002, 19:15 |
|
||
|
По поводу использования raw
|
|||
|---|---|---|---|
|
#18+
Хорошая статья, спасибо за ссылку. Что касается выдержки из статьи (сорри, выделить не могу, в мозилле кнопочки не работают): 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, хотя у меня нет тестов, чтобы подтвердить этот выбор, все доводы только теория. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2002, 16:10 |
|
||
|
По поводу использования raw
|
|||
|---|---|---|---|
|
#18+
По поводу статьи. Я тоже прочитал. Но очень уж она похожа на раздел статьи Implementing Raid On Oracle Systems, Gaja Krishna Vaidyanatha (orapub.com) посвященной raw devices. И еще она напоминает некоторые выводы из книги, Oracle 8i and Unix. Perfomance tuning. Оба источника опубликованы значительно раньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2002, 09:18 |
|
||
|
По поводу использования raw
|
|||
|---|---|---|---|
|
#18+
>Какой был 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 ощутимого влияния не оказывают. Чуть попозже попробую пересоздать базу с большим размером блока. Кстате, этот сервер вчера умер, т.к. сначала упал из-за бага . А затем, когда проинсталлили патч с новым ядром, то оказалось, что драйвер надо специально компилировать для этого ядра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2002, 15:03 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32077224&tid=1992434]: |
0ms |
get settings: |
7ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
134ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 446ms |

| 0 / 0 |
