вторник, 22 июля 2014 г.

Оптимизация производительности сервиса на уровне JDBC


Перейти к концу метаданных
Переход к началу метаданных

Оптимизации для всех типов драйверов

Параметр defaultRowPrefetch

Параметр устанавливает количество записей, предварительно получаемых с сервера при запросе.
Значение по умолчанию "10".

Параметр defaultBatchValue

Параметр устанавливает количество операций UPDATE, накапливаемых драйвером до отправки в БД для prepared statement.
Значение по умолчанию "1".

Параметр defaultLobPrefetchSize

Параметр устанавливает объем предварительной выборки LOB полей драйвером.
defaultLobPrefetchSize=262144
Значение "-1" запрещает предварительную выборку LOB-ов. "-1" является значением по умолчанию.
Значение "0" разрешет предварительную выборку LOB-ов только для метаданных.
Значение больше нуля указывает количество байт для BLOB-ов и количество символов для CLOB-ов, которые должны быть предварительно выбраны из БД.

Оптимизации для драйвера Oracle JDBC Thin

Параметр oracle.jdbc.useThreadLocalBufferCache

Параметр позволяет включить использование драйвером буферов, локальных для потоков, работающих с соединениями JDBC.
При значении "true", параметр оптимизирует выделение буферов по потокам, а не по количеству соединений. Под неактивные соединения буфера не выделяются.
oracle.jdbc.useThreadLocalBufferCache=true

Параметр oracle.jdbc.implicitStatementCacheSize

Параметр задаёт начальный размер кэша Prepared Statement. Положительное значение в данном параметре включает Implicit Statement Cache.
oracle.jdbc.implicitStatementCacheSize=10

Параметр oracle.jdbc.maxCachedBufferSize

Параметр определяет максимальный размер буфера, который будет сохранен во внутреннем кэше. По-умолчанию параметр равен Integer.MAX_VALUE.
С версии драйвера 11.2 инициализация параметра maxCachedBufferSize может увеличить производительность очень больших систем с большим кэшем Prepared Statement и SQL-запросами, требующими совершенно разный настроек буферов кэша.
В драйвере версии 11.2 значение maxCachedBufferSize интерпретируется как логарифм по основанию 2 от максимального размера буфера. К примеру, если maxCachedBufferSize имеет значение 20, то максимальный буфер в кэше равен 1048576 (Судя из экспериментов - это килобайты). Для обратной совместимости, значения более 30 интерпретируются как полное значение, а не как log2, но использование степени двойки предпочтительнее.
Величина этого параметра очень сильно влияет на скорость, с которой Oracle начинает отдавать данные с сервера в приложение, независимо от числа передаваемых записей, если в запросе очень большое количество полей.
oracle.jdbc.maxCachedBufferSize=18
Oracle® Database JDBC Developer's Guide, 11g Release 2 (11.2) - Performance Extensions
Icon
Параметры конфигурации JDBC драйвера, влияющие на потребление памяти (и в т.ч. на производительность)
Icon
Oracle Thin JDBC Driver tuning - исследование по оптимизации производительности JDBC драйвера
Icon
Managing Oracle JDBC Memory Usage - Сводная таблица дополнительных параметров соединения драйверов версий 10.0.2.4, 11.1.0.6.0, 11.1.0.7.0, 11.2
Icon

Идентификация приложения на сервере БД

Параметр v$session.program

Параметр определяет имя, отображаемое в списке сессий на сервере Oracle. Позволяет различать приложения, открывшие подключения к БД.
v$session.program=ccs-pool


Комментариев нет:

Отправить комментарий