2013-07-11 2 views
32

Есть ли тесты производительности между управляемыми и неуправляемыми драйверами ODP.Net Oracle?Oracle ODP.net Управляемый или неуправляемый драйвер

(т.е. есть какое-либо преимущество перехода к управляемому водителю, кроме как для архитектурной простоты/развертывания)

+0

Нет, ни по аналогичному вопросу, который я задавал на досках объявлений OTN. Я в основном пришел к выводу, что неуправляемый драйвер 12.1 был по существу еще бета-продуктом, и я бы подождал до 12.2, прежде чем переоценивать его. –

ответ

17

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

enter image description here

Примечание: seg означает секунду. Извини за это.

Конечно, это простой тест, и есть несколько тем, которые не рассматриваются как пул соединений, стабильность, надежность и т. Д. ...

Важно отметить, что сценарии выполнялись 100 раз. Таким образом, временные величины являются средними из 100 казней.

+0

Что можно сказать о производительности неуправляемого драйвера x32? –

+0

Извините, но мы больше не используем 32-битную версию. Однако, если вы ищете сравнение между неуправляемым x64 и неуправляемой версией x32, вы ответите на свой вопрос :). – gustavodidomenico

+0

Привет, Густаво, я в настоящее время делаю собственное тестирование производительности, какие инструменты вы использовали для своих цифр? –

22

Пули из quick start video:

  • Меньших файлов (1 или 2-х библиотек DLL в большинстве)
  • меньшей площади (10 МБ по сравнению с 200 МБ)
  • Легче бока развертыванием боковой
  • же сборки для 32 и 64 бита (для второго MTS а кроме ssembly).
  • Код безопасности доступа

Я не уверен, о производительности, но я сомневаюсь, что это будет сильно отличаться в любом случае. Я предполагаю, что оба драйвера обмениваются идентичным образом над «Oracle Net». Хотя могут быть небольшие различия в операциях на стороне клиента на стороне клиента, выполненных для подготовки команды и обработки результатов, эта служебная информация обычно составляет только часть времени относительно всей транзакции. Большая часть затрат/времени тратится на сервер в физическом IO и передает данные обратно клиенту. Это просто не то же самое, что и переход от поставщика oledb или драйвера System.DataAccess.OracleClient. Это еще один релиз от одной и той же компании RDBMS - они собираются использовать все те же трюки производительности, что и их другой клиент. Хотелось бы, чтобы я мог опубликовать исследование, но я бы предположил, что такого не существует, потому что в конце концов это было бы незаметно. Случай без новостей - хорошая новость - если новый провайдер был чем-то хуже, вы бы об этом читали.

Простота является достаточным основанием для переключения на этот ИМО. Подавляющее большинство разработчиков и администраторов не полностью понимают поставщика и его связь с неуправляемым клиентом. Путаница о домашнем предпочтении оракула, несоответствие версии, обновления и т. Д. Постоянно появляется. Чтобы устранить эти вопросы, это было бы приятным изменением.

+0

Да, я все это понимаю, но этот вопрос был конкретно связан с относительной производительностью драйверов. –

+0

Я отредактирую свой ответ, чтобы подробно рассказать о «многом другом в любом случае». –

1

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

Смотрите этот документ Oracle различий между управляемым и неуправляемым версии:

http://docs.oracle.com/cd/E16655_01/win.121/e17732/intro004.htm

+2

Одна вещь, на которую другие вопросы не были решены: с каждым крупным выпуском ODP.NET драйвер Unmanaged, как правило, имеет некоторые новые функции базы данных, которыми управляемый драйвер еще не имеет. Но управляемый драйвер наверстает упущенное в последующих выпусках. –

3

Чем проще развертывания и разрядность независимость действительно хорошие преимущества, но вам лучше оценить ваше типичное использование драйвера тщательно. Я столкнулся почти с 50% -ным недостатком производительности при использовании нового управляемого драйвера в 64-битных процессах. Другие люди сообщают о утечке памяти и т. Д. На форуме Oracle: https://forums.oracle.com/community/developer/english/oracle_database/windows_and_.net/odp.net. Похоже, что это типичный продукт Oracle для багги, которому требуется еще несколько месяцев/лет:/

+0

Кто-нибудь еще испытывает это? –

5

Вот вам полезный для всех вас. Мне потребовалось пару недель, чтобы понять, почему драйверы Oracle Managed не будут подключаться с помощью ef6. Если ваша база данных имеет следующие алгоритмы целостности данных, вы ДОЛЖНЫ использовать неуправляемые драйверы!

похоронен глубоко в документации оракула !!! СПАСИБО ORACLE !!!!! enter image description here

Смежные вопросы