Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5   вперед  Ctrl      все
 Слишком долгое подключение и выполнение первого запроса.  [new]
kaktus1983
Member

Откуда:
Сообщений: 131
Приветствую, форумчане!

Столкнулся с такой проблемой - медленное удаленное подключение к БД и, что самое главное, очень медленное выполнение первого запроса.
Именно в цифрах:
Подключение к БД 30-45сек (IBExpert это делает за 15-30сек)
Выполнение первого запроса, не важно какого, не важно к какой таблице, даже примитивного "select first 1 ..." выполняется 2-3 минуты, затем все работает с нормально быстро.
В IBExpert этой проблемы нет, запросы работаю одинаково быстро сразу после коннекта.
Не могу понять, с чем это связанно и как ускорить?

Firebird 2.5
FibPlus 7.7.7000 Release
Delphi 10.2

Подключение к БД - удалённо через Internet c использованием vpn.
Интернет соединение стабильно, 100 Мбит.
23 окт 21, 14:51    [22387174]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Softologic
Member

Откуда: Питер
Сообщений: 393
kaktus1983,

А пинг сервака что дает? Может там в принципе доступ такой тугой?
23 окт 21, 14:59    [22387176]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
kaktus1983
Member

Откуда:
Сообщений: 131
Softologic,
Пинг проверю, но IBExpert ведь сразу адекватно по скорости работает с этой же БД.
И тормоза нереальные только при первом запросе, даже к таблице с 20 записями...
Впечатление что что-то куда-то кэшируется при первом запуске, но ХЗ что и куда.

Сообщение было отредактировано: 23 окт 21, 15:02
23 окт 21, 15:02    [22387177]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11092
kaktus1983,

Очевидно метаданные запрашивают ся и кешируются. Что там именно делается смотри в коде приложения и компонентах доступа
23 окт 21, 15:06    [22387178]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
kaktus1983
Member

Откуда:
Сообщений: 131
Есть еще такой интересный момент:

Программа работает с 2-мя базами на одном и том же сервере, параллельно.
При запуске происходит последовательное подключение к двум БД, используются 2 компонента TpFIBDatabase.
Подключение к каждой БД одинаково по времени длится 30-45 сек.

Выполнение 1го запроса к 1й БД - 2-3 мин
Выполнение 1го запроса к 2й БД - уже 20-30сек
последовательность БД можно менять местами - ничего не меняется - тормозит именно 1й запрос к 1й БД
23 окт 21, 15:23    [22387183]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54772

kaktus1983
Не могу понять, с чем это связанно и как ускорить?

Вариант 1: кто-то кривыми руками базу убил в хлам и при первом подключении у неё
начинается массовая чистка накопившегося мусора, сжирающая все ресурсы.
Вариант 2: на сервере живёт зловред, сжирающий все ресурсы на файловом уровне
дерьмового железа (антивирус или бэкап какой).

Первый вариант вероятнее. Ускорять рихтовкой рук того пацана, что колбу
держит
приложение программировал.

Posted via ActualForum NNTP Server 1.5

23 окт 21, 15:42    [22387189]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30244
kaktus1983
В IBExpert этой проблемы нет, запросы работаю одинаково быстро сразу после коннекта.

это значит, что
- в IBExpert запросы не фетчатся полностью, а приложение может делать fetchAll.
- в приложении делается что-то еще, кроме того что выполняются в IBExpert

Насчет "медленного подключения" к БД - ну сделайте пустое приложение с pFIBDatabase, и проверьте.
Коннект из любой программы всегда одинаков. А вот что дальше программа делает ПОСЛЕ коннекта - это то, что в ней написали.

Вариантов понимания происходящего как минимум два - включить монитор sql в fibplus, или включить трейс в ФБ.
А потом выяснится, что в фибплюсе включено по умолчанию кэширование всех метаданных, или что-то в этом роде...
23 окт 21, 15:48    [22387192]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54772

kdv
А потом выяснится, что в фибплюсе включено по умолчанию кэширование всех
метаданных, или что-то в этом роде...

.... и опять всплывёт старый флейм о пагубном влиянии неестественного интеллекта
на неокрепший естественный. Может, оно и к лучшему, что плюсы почили в бозе...

Posted via ActualForum NNTP Server 1.5

23 окт 21, 15:59    [22387195]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
kaktus1983
Member

Откуда:
Сообщений: 131
Dimitry Sibiryakov,
похоже там присутствует 2 варианта, я на это повлиять не могу.
Моя цель - добиться скорости работы порядка IBExpert.

kdv,
Приложение пустое, только TpFIBDatabase, и коннект в 2 раза дольше чем у IBExpert. Это допустимо.
А вот вот запрос через TpFIBQuery, самый примитивный, к таблице с 20 записями всего (хотя даже тут fetchAll убрал) - 3 минуты в первый раз, это проблема. Потом запросы к другим таблицам и даже другой БД - быстрее на порядок.
IBExpert тоже фетчит метаданные и отображает их в дереве, но за 5-10 сек всего.
23 окт 21, 16:02    [22387197]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54772

kaktus1983
Приложение пустое, только TpFIBDatabase, и коннект в 2 раза дольше чем у
IBExpert. Это допустимо.
А вот вот запрос через TpFIBQuery, самый примитивный, к таблице с 20 записями
всего (хотя даже тут fetchAll убрал) - 3 минуты в первый раз, это проблема.

И вот это как раз указывает на первый вариант. Смирись.

Posted via ActualForum NNTP Server 1.5

23 окт 21, 16:08    [22387198]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Softologic
Member

Откуда: Питер
Сообщений: 393
Dimitry Sibiryakov

.... и опять всплывёт старый флейм о пагубном влиянии неестественного интеллекта
на неокрепший естественный. Может, оно и к лучшему, что плюсы почили в бозе...

Хоть плюсы почили в бозе тихо и естественно, но вполне себе рабочие форки для (сравнительно) новых версий все же есть. Там никто не запрещает на уровне исходников выключить это самое кэширование по умолчанию :)
И вообще... в свое время плюсы были вполне достойнейшими компонентами. Зачем ругать тех, кто ушел на покой?!... Кощунство жеж :).

Сообщение было отредактировано: 23 окт 21, 16:13
23 окт 21, 16:13    [22387199]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54772

Softologic
И вообще... в свое время плюсы были вполне достойнейшими компонентами.

Не были. На изначальную кривизну FIBC они наворотили этот самый интеллект чтобы
пользоваться ими смогли даже идиоты. И это всё.

Posted via ActualForum NNTP Server 1.5

23 окт 21, 16:22    [22387204]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
kaktus1983
Member

Откуда:
Сообщений: 131
Всем спасибо!
Проблема решена, скорость работы с удаленной БД одинакова с IBExpert.
Виновником оказался EventAlerter.
Видимо на сервере его порт был заблокирован брандмауэром.
23 окт 21, 16:24    [22387209]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Softologic
Member

Откуда: Питер
Сообщений: 393
Dimitry Sibiryakov
Softologic
И вообще... в свое время плюсы были вполне достойнейшими компонентами.

Не были. На изначальную кривизну FIBC они наворотили этот самый интеллект чтобы
пользоваться ими смогли даже идиоты. И это всё.

Окей. А тогда что на замену то ? Чтоб прям достойно было. И не для всех, а кто в теме.

ЗЫ: И кстати, почему автор IBEXPERT'a использует эти не вполне достойные компоненты по сей день? Странно...

Сообщение было отредактировано: 23 окт 21, 16:26
23 окт 21, 16:26    [22387211]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54772

Softologic
И кстати, почему автор IBEXPERT'a использует эти не вполне достойные компоненты
по сей день?

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

Posted via ActualForum NNTP Server 1.5

23 окт 21, 17:28    [22387234]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30244
Softologic
И кстати, почему автор IBEXPERT'a использует эти не вполне достойные компоненты по сей день?

патамушта он остановился на 4й версии ФИБов, если я не ошибаюсь, и дальше пилит их самостоятельно.
23 окт 21, 17:49    [22387244]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Softologic
Member

Откуда: Питер
Сообщений: 393
Dimitry Sibiryakov
Softologic
И кстати, почему автор IBEXPERT'a использует эти не вполне достойные компоненты
по сей день?

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

Таки что Отцы используют (и рекомендуют) в трудах ежедневных в качестве коннектора с FB ? :)
23 окт 21, 20:00    [22387269]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54772

Внезапно: fbclient.

Posted via ActualForum NNTP Server 1.5

23 окт 21, 20:11    [22387270]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Softologic
Member

Откуда: Питер
Сообщений: 393
Dimitry Sibiryakov
Внезапно: fbclient.

Эту песню (библиотеку) я и сам отгадал с первой ноты :)
Однако не про библиотеку ведь спрашивал, а про компоненты для связи с базой FB. Самописное нечто, я полагаю?
23 окт 21, 20:28    [22387273]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54772

Softologic
Однако не про библиотеку ведь спрашивал, а про компоненты для связи с базой FB.

Это чтобы мышкой на форму кидать и клац-клац? Не, такой фигнёй пусть чайники маются.

Posted via ActualForum NNTP Server 1.5

23 окт 21, 21:20    [22387280]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Softologic
Member

Откуда: Питер
Сообщений: 393
Dimitry Sibiryakov
Softologic
Однако не про библиотеку ведь спрашивал, а про компоненты для связи с базой FB.

Это чтобы мышкой на форму кидать и клац-клац? Не, такой фигнёй пусть чайники маются.

Да как бы можно ничего не кидать, в рантайме все, но ведь упрощают же жизнь компоненты ж...

Или Дмитрий сторонник подхода: абсолютли все свое, ибо чем низкоуровневее, тем лучше? Оно понятно, но баланс ведь должен быть. А так исходя из вашей концепции получается всякие сторонние обертки\фреймворки\компоненты - зло что-ли?
23 окт 21, 21:57    [22387287]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54772

Softologic
но ведь упрощают же жизнь компоненты ж...

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

Softologic
А так исходя из вашей концепции получается всякие сторонние
обертки\фреймворки\компоненты - зло что-ли?

Нет, но чаще от них больше вреда чем пользы, поскольку среднестатистические
компоненты это обёртка вокруг одной функции, да ещё и вводящая в заблуждение.
Типичный пример - TThread.

Posted via ActualForum NNTP Server 1.5

23 окт 21, 22:10    [22387288]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Softologic
Member

Откуда: Питер
Сообщений: 393
Dimitry Sibiryakov

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

Вы это как бы про все компоненты априори??? То есть вот взять всех и под одну гребенку?

Dimitry Sibiryakov

Нет, но чаще от них больше вреда чем пользы, поскольку среднестатистические
компоненты это обёртка вокруг одной функции, да ещё и вводящая в заблуждение.
Типичный пример - TThread.

Это ж какой длинный тернистый путь (без компонентов\оберток\фреймворков) должны пройти будут новички, чтобы скажем, лет за 5 написать хоть что то вменяемое. На мой взгляд, это время прошло еще в начале нулевых, если не сказать даже 90-х. Сейчас куда практичнее баланс - берешь компонент, прогоняешь на нем десяток-другой тестов и вперед - в разработку сразу, если приемлемый результат по: 1) финансовым затратам на покупку\время разработки; 2) по количеству некритичных багов, которые можно быстро править в исходниках; 3) по скорости получения данных\парсинга\рендеринга;
2й пункт самый непростой, да, но я вообще по началу покупал компоненты без исходников и в целом, меня устраивало. Сейчас, по прошествии 10 лет в Delphi, покупаю по возможности с исходниками конечно.
23 окт 21, 22:27    [22387296]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
Softologic
Member

Откуда: Питер
Сообщений: 393
В довершение добавлю такой момент: когда в 2010м мне занадобился инструментарий для проектирования и, собственно, кодинга бизнес-приложения, я выбрал Delphi как раз из за большого количества всяких готовых штук. На тот момент как раз по отзывам, мне как нубу (точнее полному чайнику) больше всего подошли\понравились FIbplus. Никаких особых нареканий за все 10 лет к ним у меня не было. Совсем.
23 окт 21, 22:39    [22387298]     Ответить | Цитировать Сообщить модератору
 Re: Слишком долгое подключение и выполнение первого запроса.  [new]
kaktus1983
Member

Откуда:
Сообщений: 131
Softologic,
Полностью поддерживаю ваше мнение, Fib+ отличные компоненты, и я даже не знаю альтернатив, несмотря на то, что они уже долго не поддерживаются.

Сообщение было отредактировано: 24 окт 21, 00:24
24 окт 21, 00:25    [22387311]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5   вперед  Ctrl      все
Все форумы / Firebird, InterBase Ответить