Страница 1 из 1
Производительность ODBC+Firebird
Добавлено: 22 июн 2007, 17:55
AlexandrM
Уважаемые господа, подскажите, пожалуйста какую производительность можно достичь в связке ODBC IBPhoenix v2.00.00.142 + Firebird 1.5 v1.5.3.4870 при непрерывной регистрации данных (22 аттрибута типа Float) по INSERT запросу(транзакций в секунду).
Операционка WINXP SP2
Железо Pentium Core2Duo 1.86Hgz RAM-2Gb DDR2.
С уважением, Александр.
Добавлено: 22 июн 2007, 20:43
WildSery
Возьми да замеряй.
Этот показатель зависит от огромного числа параметров, и точно сказать, сколько на твоей машине будет, практически невозможно.
Добавлено: 23 июн 2007, 21:53
kdv
"транзакций в секунду" при вставке - не надо.
лучше прочитать
www.ibase.ru/devinfo/impexp.htm
и вставлять данные "пакетами", а не по одной штуке на транзакцию.
собственно, если предполагается совсем непрерывная регистрация данных, то или Вы ошиблись сервером, и вам надо MySQL или вообще dbf, или что-то не так в постановке задачи.
Прочитайте до кучи
www.ibase.ru/devinfo/sys_failure.htm
там есть раздел про импорт.
Добавлено: 28 июн 2007, 13:14
Ivan_Pisarevsky
Сколько сумеет обработать диск, столько сможет и машина, вероятней всего результат будет очень близкий с селероном половинной частоты и полугигом памяти (если нет суровой математической обработки льющихся данных).

Добавлено: 29 ноя 2007, 17:42
AlexandrM
Уважаемые господа, суть этого вопроса возникла при связке СКАДА системы АДАСТРА - ТРЕЙС МОУД 6.05 с SQL базой. И вот производился выбор базы дабы регистрировать данные 800 каналов пакетами по 25. Пакет пшется одной строкой в таблицу.
Поэксперементировал с разными базами: Firebird 1.5.1.4481 и DB2 v9.1.200.166 через источник ОДБС и вот что получил при замере быстродействия с помощью DELPHI6.0:
Firebird 1.5.1.4481 - 1 полная транзакция за 3.2мс
DB2 v9.1.200.166 - 1 полная транзакция за 0.55мс
При работе с этими базами и ТРЕЙС МОУД 6.05 через ОДБС получаю противоположные результаты:
Firebird 1.5.1.4481 - 1 полная транзакция за 250мс
DB2 v9.1.200.166 - 1 полная транзакция за 2000мс
Конечно напршиваются вопросы:
1. Почему просходит такое резкое падение производительности?
2. Почему Firebird 1.5.1.4481 покосил DB2 v9.1.200.166?
Правда ТРЕЙС МОУД 6.05 у меня работал на той же машине что и базы данных.
Вопрос был задан спецам ТРЕЙС МОУД 6.05 и получен следующий ответ:
"Мы не считаем SQL-интерфейс основным интерфейсом в работе с реальными технологическими процессами.
Поток SQL-запросов в Trace Mode отнесен к самым низко-приоритетным, чтобы он не препятствовал мониторингу, диагностике и управлению в реальном процессе.
Возможно, что на специально выделенном МРВ можно сократить период обработки каналов и повысить приоритет этого потока с тем, чтобы повысить его производительность.
Что касается разницы между Firebird и DB2, то МРВ совершенно инвариантен к типу БД. Он работает через соответствующий ODBC-драйвер БД. Все различия здесь могут быть только в реальном интерфейсе этого драйвера с БД и реальной загрузке ПК, использующего эту БД."
Может у кого-то из Вас есть опыт работы и соображения по этому поводу?
С уважением AlexandrM.
Добавлено: 29 ноя 2007, 19:23
stix-s
AlexandrM писал(а):
Что касается разницы между Firebird и DB2, то поводу?
С уважением AlexandrM.
DB2 и ODBC - замечательная связка

Добавлено: 19 дек 2007, 15:47
AlexandrM
Фишка здесь вот в чем, был задан вопрос техподдержке ТМ6:
"Уважаемый модератор, подскажите алгоритм выполнения каждого запроса в ТМ6.05.1 через драйвер ОДБС, я понимаю так:
1. ТМ6.05.1 запрашивает установку коннекта через ОДБС с SQL базой.
2. ТМ6.05.1 запрашивает старт транзакции.
3. ТМ6.05.1 запрашивает выполнение запроса.
4. ТМ6.05.1 запрашивает завершение транзакции.
5. ТМ6.05.1 запрашивает отключение коннекта с SQL базой.
И так по каждой инициализации канала CALL запроса к БД. Меня именно интересует момент установки коннекта, происходит ли он каждый раз при выполнении запроса или единожды при старте монитора? Если каждый раз то мне тогда понятны временные задержки."
..... и получен ответ:
"Каждый успешный запрос завершается дисконнектом.
Новый запрос начинается с коннекта."
DB2 коннектится гораздо дольше нежели Firebird! И вообще коннект валит все временные параметры.
Добавлено: 19 дек 2007, 16:37
Tonal
Сразу вспоминаются пулы подключений, так любимые в MS SQL