Существуют ли тесты производительности между управляемыми и неуправляемыми драйверами ODP.Net Oracle?
(т.е. есть ли какое-либо преимущество для перехода к управляемому драйверу, кроме простоты архитектуры/развертывания)
Существуют ли тесты производительности между управляемыми и неуправляемыми драйверами ODP.Net Oracle?
(т.е. есть ли какое-либо преимущество для перехода к управляемому драйверу, кроме простоты архитектуры/развертывания)
Я хотел бы поделиться некоторыми результатами. Я думаю, что небольшая нехватка производительности стоит по сравнению с легкостью развертывания.
Примечание: seg
означает секунды. Извините.
Конечно, это простой тест, и есть несколько тем, которые не рассматриваются как пул подключений, стабильность, надежность и т.д.
Важно отметить, что сценарии выполнялись 100 раз. Таким образом, временные величины являются средними из 100 исполнений.
Пули из видео быстрого запуска:
Я не уверен в производительности, но я сомневаюсь, что это будет сильно отличаться в любом случае. Я предполагаю, что оба драйвера обмениваются идентичным образом над "Oracle Net". Хотя могут быть небольшие различия в операциях на стороне клиента на стороне клиента, выполненных для подготовки команды и обработки результатов, эта служебная информация обычно составляет только часть времени относительно всей транзакции. Большая часть затрат/времени тратится на сервер в физическом IO и передает данные обратно клиенту. Это просто не то же самое, что и переход от поставщика oledb или драйвера System.DataAccess.OracleClient. Это еще один релиз от одной и той же компании RDBMS - они собираются использовать все те же трюки производительности, что и их другой клиент. Хотелось бы, чтобы я мог опубликовать исследование, но я бы предположил, что такого не существует, потому что в конце концов это было бы незаметно. Случай без новостей - хорошая новость - если новый провайдер был чем-то хуже, вы бы читали об этом.
Простота является достаточным основанием для переключения на эту ИМО. Подавляющее большинство разработчиков и администраторов не полностью понимают поставщика и его связь с неуправляемым клиентом. Путаница о домашнем предпочтении оракула, несоответствие версии, обновления и т.д. Постоянно появляется. Чтобы устранить эти вопросы, это было бы приятным изменением.
Вот для вас все, что вам нужно. Мне потребовалось пару недель, чтобы понять, почему драйверы Oracle Managed не будут подключаться с помощью ef6. Если ваша база данных имеет следующие алгоритмы целостности данных, вы ДОЛЖНЫ использовать неуправляемые драйверы!
похоронен глубоко в документации оракула!!! СПАСИБО ORACLE!!!!!
Более простое развертывание и независимость от битов - это действительно приятные преимущества, но вы должны полностью оценить типичное использование драйвера. Я столкнулся почти с 50% -ным недостатком производительности при использовании нового управляемого драйвера в 64-битных процессах. Другие люди сообщают о утечке памяти и т.д. На форуме Oracle: https://forums.oracle.com/community/developer/english/oracle_database/windows_and_.net/odp.net. Похоже, что это типичный продукт Oracle для багги, которому требуется еще несколько месяцев/лет:/
Имейте в виду, что пользовательские типы еще не поддерживаются. Это может быть причиной не перехода на управляемый драйвер.
См. этот документ Oracle для различий между управляемой и неуправляемой версией:
http://docs.oracle.com/cd/E16655_01/win.121/e17732/intro004.htm