|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
Приветствую всех. Есть такая задача: реализовать дерево каталогов и файлов средствами реляционной субд. Соответственно имеем таблицу каталогов с внешним ключом на себя же, таблицу файлов с внешним ключом на таблицу каталогов, всё стандартно. Реализуем на Oracle, точно также, с такой же структурой таблиц, реализуем MS SQL, делаем однотипные индексы Хранимки немного отличаются ввиду различий PL-SQL и T-SQL Далее, пишем программулину на C#, которая в 300-400 параллельных потоках активно создаёт каталоги, файлы, обновляет, удаляет, считывает их. Для MS SQL - всё очень шустро, файлы кладутся в базу быстро, быстро считываются - и список, и содержимое. Используется стандартный System.Data.SqlClient. Для Oracle - тупой запрос на получение списка файлов в каталоге(выборка возвращает не более 10 записей) может занимать сотни миллисекунд. Если снизить число потоков до 5-10 то всё становится приемлемо, но при большом количестве одновременных обращений к БД резко падает производительность. Используется официальный ODP.NET Оба сервера на одном компе - i5, 4гб оперативы, windows 7. MS SQL Express 2014 и Oracle 12c Standard, обращение по TCP из 100 мбит локалки. Хотелось бы понять данный феномен. Заказчик очень хочет использовать Oracle. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 10:44 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
ulvrid, может Вам в форум по Ораклу лучше? скорее всего вопрос какими-то настройками решается ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 11:04 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
ulvridДля Oracle - тупой запрос на получение списка файлов в каталоге(выборка возвращает не более 10 записей) может занимать сотни миллисекунд. Несколько сотел милисекунд для запроса -- это нормально. А дальше -- всё зависит от того, какой запрос, какие таблицы, какие данные и т.д. Вот с этим тебе и нужно разбираться. Планы смотреть... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 15:23 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
SergSuperulvrid, может Вам в форум по Ораклу лучше? скорее всего вопрос какими-то настройками решается Посмотрел соотвествующий тред. А пример то показательный. Оба продукта "из коробки", задача проста до безобразия, ан нет, в одном случае всё работает из коробки, в другом нужны танцы с бубном. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 21:17 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
pkarklinА пример то показательный. Угу, отлично показывает, что мелкомягкие продукты ни с чем кроме самих себя не дружат от слова "вообще". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 21:35 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
ulvrid, О оракла медленный парсинг, по сравнению с ms sql. Это всем известно. Первое - нужно использовать "bind variables". ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 21:39 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
pkarklinПосмотрел соотвествующий тред. А пример то показательный. Оба продукта "из коробки", задача проста до безобразия, ан нет, в одном случае всё работает из коробки, в другом нужны танцы с бубном. да, оракл у не тот. в мое время студенты с гвоноподелками под винду просто не осиливали инсталяцию оракла. но в чем вызывает уважение винвовс мир - стабильностью. студенты стабильно выбирают винду и odbc. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 21:42 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovpkarklinА пример то показательный. Угу, отлично показывает, что мелкомягкие продукты ни с чем кроме самих себя не дружат от слова "вообще". Готов принять участие в тестировании? Начнем с этого: Dimitry Sibiryakov"Я вам не скажу за всю Одессу", но именно с С интерфейсом (ODBC) он тормозит как последний слоупок. ЗЫ. Осмелюсь только напомнить, что ODBC - разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI), который разрабатывался организациями SQL Access Group, X/Open и Microsoft. ЗЫЗЫ. А теперь можно приводить тест кейсы... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 21:44 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
Relic HunterО оракла медленный парсинг, по сравнению с ms sql. Это всем известно. Первое - нужно использовать "bind variables". я ставлю на коннекшен пул, он просто задолбал оракл кол-вом коннекций которые заметно дольше мсскл инициализируются ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 21:47 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
Yo.!Relic HunterО оракла медленный парсинг, по сравнению с ms sql. Это всем известно. Первое - нужно использовать "bind variables". я ставлю на коннекшен пул, он просто задолбал оракл кол-вом коннекций которые заметно дольше мсскл инициализируютсяконнекшен пул может быть пре-инициализированным. разницы быть не должно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 21:50 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
Relic Hunterulvrid, О оракла медленный парсинг, по сравнению с ms sql. Это всем известно. Первое - нужно использовать "bind variables". ТС как бы хранимки юзает. Чего там парсить? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 21:51 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
pkarklinRelic Hunterulvrid, О оракла медленный парсинг, по сравнению с ms sql. Это всем известно. Первое - нужно использовать "bind variables". ТС как бы хранимки юзает. Чего там парсить?А в хранимках что? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 21:56 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
ulvrid, Ну не работает оно само по себе из коробки. Надо смотреть ожидания. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:01 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
Relic Hunterpkarklinпропущено... ТС как бы хранимки юзает. Чего там парсить?А в хранимках что? :) А что, Oracle и MS SQL парсят хранимку при каждом ее вызове? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:05 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
pkarklinГотов принять участие в тестировании? Со своей стороны я уже всё оттестировал. Теперь твоя очередь повторять мой эксперимент: поставить MS SQL Express Edition и просто подключиться к нему из EMS SQL Manager. Потом расскажи, почему этот процесс занимает почти минуту. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:07 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
Yo.!Relic HunterО оракла медленный парсинг, по сравнению с ms sql. Это всем известно. Первое - нужно использовать "bind variables". я ставлю на коннекшен пул, он просто задолбал оракл кол-вом коннекций которые заметно дольше мсскл инициализируются Я правильно понимаю, что если я не могу контроллировать количество открытий\закрытий подключений на стороне клиента, то единственный мой путь - это трехзвенка с коннешен пулом на "апп" лайере? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:08 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
pkarklinRelic Hunterпропущено... А в хранимках что? :) А что, Oracle и MS SQL парсят хранимку при каждом ее вызове?Парсятся не хранимки, а sql-запросы ее населяющие. Хард парс один раз - для каждого sql-ля если нет в кеше, плюс софт парс - каждый раз, на предмет наличия прав на объекты. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:10 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
pkarklinYo.!пропущено... я ставлю на коннекшен пул, он просто задолбал оракл кол-вом коннекций которые заметно дольше мсскл инициализируются Я правильно понимаю, что если я не могу контроллировать количество открытий\закрытий подключений на стороне клиента, то единственный мой путь - это трехзвенка с коннешен пулом на "апп" лайере? Нет. Есть настройка. alter system set dispatchers="(protocol=TCP)(dispatchers=4)(pool=on)(tick=1)(connections=500)(sessions=1000)" ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:12 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovpkarklinГотов принять участие в тестировании? Со своей стороны я уже всё оттестировал. Теперь твоя очередь повторять мой эксперимент: поставить MS SQL Express Edition и просто подключиться к нему из EMS SQL Manager. Потом расскажи, почему этот процесс занимает почти минуту. Наверно потому, что кто-то забыл, что в сетевой модель OSI семь уровней. И грех пенять на один уровень, если проблемы на другом. Хотя для тебя достаточно не забывать при локальном подключении указывать LPC: перед именем сервера. ЗЫ. Нет, ни этого я ждал от тебя. Я ждал, что ты покажешь, как быстро MS SQL выполняет запрос из SQL Server Management Studio, которая использует .NET Framework SqlClient, и как "как слоупок" тормозит утилита командной строки sqlcmd.exe, которая написана на сях и использует ODBC. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:18 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
Relic Hunterpkarklinпропущено... А что, Oracle и MS SQL парсят хранимку при каждом ее вызове?Парсятся не хранимки, а sql-запросы ее населяющие. Хард парс один раз - для каждого sql-ля если нет в кеше, плюс софт парс - каждый раз, на предмет наличия прав на объекты. Т.е. у Oracle проблемы с софт парс (разрешение прав), если мы допустим, что планы всех инструкцией внутри хранимки закэшированы? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:24 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
pkarklinRelic Hunterпропущено... Парсятся не хранимки, а sql-запросы ее населяющие. Хард парс один раз - для каждого sql-ля если нет в кеше, плюс софт парс - каждый раз, на предмет наличия прав на объекты. Т.е. у Oracle проблемы с софт парс (разрешение прав), если мы допустим, что планы всех инструкцией внутри хранимки закэшированы? У Оракла могут быть любые проблемы. Но все они решаются специальными настройками или выбором специального оборудования. ТС надо смотреть ожидания. И трассировку 12 уровня снять. И обратиться к специалисту. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:27 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
pkarklinЯ правильно понимаю, что если я не могу контроллировать количество открытий\закрытий подключений на стороне клиента, то единственный мой путь - это трехзвенка с коннешен пулом на "апп" лайере? нет. можно кол-во диспатчеров поднять, можно коннектится к пулу оракла, можно вообще оракл в режиме MTS запустить. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:30 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
ungueУ Оракла могут быть любые проблемы. Но все они решаются специальными настройками или выбором специального оборудования. ТС надо смотреть ожидания. И трассировку 12 уровня снять. И обратиться к специалисту. Т.е. ты констатируешь тот факт, что на простой задаче MS SQL в редакции Express "из коробки" без настроек и специалиста порвал OSE как тузик грелку? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:34 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
Yo.!pkarklinЯ правильно понимаю, что если я не могу контроллировать количество открытий\закрытий подключений на стороне клиента, то единственный мой путь - это трехзвенка с коннешен пулом на "апп" лайере? нет. можно кол-во диспатчеров поднять, можно коннектится к пулу оракла, можно вообще оракл в режиме MTS запустить. Ок. Спасибо! Буду знать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:35 |
|
Медленный Oracle и быстрый MS SQL
|
|||
---|---|---|---|
#18+
pkarklinungueУ Оракла могут быть любые проблемы. Но все они решаются специальными настройками или выбором специального оборудования. ТС надо смотреть ожидания. И трассировку 12 уровня снять. И обратиться к специалисту. Т.е. ты констатируешь тот факт, что на простой задаче MS SQL в редакции Express "из коробки" без настроек и специалиста порвал OSE как тузик грелку? Да, для такой задачи, если не предполагается масштабирования, либо настройки системы, оракл, очевидно избыточен. Используйте MS SQL в редакции Express. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2015, 22:36 |
|
|
start [/forum/topic.php?fid=35&msg=39094104&tid=1552303]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 256ms |
total: | 425ms |
0 / 0 |