Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Почему первый запрос к базе долгий, а последующие быстрые? / 22 сообщений из 22, страница 1 из 1
16.03.2014, 10:36:58
    #38587399
antox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
Есть база FB 2.5, размер около 20GB, Обращение из Delphi 2010, ч-з IBX

При первом запросе с параметрами, возвращающем порядка 700 записей тратится около минуты, а на последующие запросы с идентичными или другими значениями этих же параметров, возвращающие и по 3000 записей тратится несколько секунд. Причем программу можно перезапустить все равно несколько секунд.

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

Пробовал перед последующими запросами перезапускать FB сервер, всё равно быстрые запросы. Только после перезагрузки компьютера опять первый запрос долгий.

Поведение одинаково хоть на сервере, хоть Embedded. Причем, если не перезапускать компьютер, а обратиться к другому файлу БД, то первый запуск на другой БД тоже долгий.

Где-то что-то кэшируется, видимо в Windows, не могу понять что и где :)

Подскажите, что можно сделать, что бы первый запрос уже выполнялся со скоростью последующих? Может где-то заранее зарезервировать ресурсы.
...
Рейтинг: 0 / 0
16.03.2014, 11:33:07
    #38587413
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
antox, ос какая, где сервер и какое расширение у файла бд?
...
Рейтинг: 0 / 0
16.03.2014, 12:21:21
    #38587431
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
Да фигли там мелочиться с тремя вопросами...
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1078192&msg=15586003
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16.03.2014, 13:20:48
    #38587466
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
antoxГде-то что-то кэшируется, видимо в Windows, не могу понять что и где :)Файловый кеш, есс-но

antoxПодскажите, что можно сделать, что бы первый запрос уже выполнялся со скоростью последующих? Если запрос простой - ничего.
Если сложный - попробовать прочитать нужные записи ведомых таблиц.

Т.е. нужно "прогреть" файловый кеш.
...
Рейтинг: 0 / 0
16.03.2014, 14:17:32
    #38587485
antox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
wadman,

ОС 7 / 8.1 32bit и 36bit

расширение файла fbd
...
Рейтинг: 0 / 0
16.03.2014, 14:19:58
    #38587486
antox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
hvladantoxГде-то что-то кэшируется, видимо в Windows, не могу понять что и где :)Файловый кеш, есс-но

antoxПодскажите, что можно сделать, что бы первый запрос уже выполнялся со скоростью последующих? Если запрос простой - ничего.
Если сложный - попробовать прочитать нужные записи ведомых таблиц.

Т.е. нужно "прогреть" файловый кеш.

Запрос к одной таблице, параметров порядка 10.

А как прогреть? Можно подробнее? Или просто заранее (например, при загрузке программы) выполнить запрос и обыграть загрузкой программы?
...
Рейтинг: 0 / 0
16.03.2014, 14:32:00
    #38587492
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
antoxА как прогреть? Можно подробнее? Или просто заранее (например, при загрузке программы) выполнить запрос и обыграть загрузкой программы?%FIREBIRD_HOME%\bin\gstat.exe -r вашабаза.fdb -t ВАША_ТАБЛИЦА_01 -t ВАША_ТАБЛИЦА_02 -t ВАША_ТАБЛИЦА_03 > nul
(имена таблиц - в ВЕРХНЕМ регистре!)
...
Рейтинг: 0 / 0
16.03.2014, 14:42:42
    #38587501
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
Алексей, вот видишь: срать хотели топикстартеры на твой список вопросов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16.03.2014, 16:02:05
    #38587545
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
antoxЕсть база FB 2.5, размер около 20GB, Обращение из Delphi 2010, ч-з IBX

При первом запросе с параметрами, возвращающем порядка 700 записей тратится около минуты, а на последующие запросы с идентичными или другими значениями этих же параметров, возвращающие и по 3000 записей тратится несколько секунд. Причем программу можно перезапустить все равно несколько секунд.

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

Пробовал перед последующими запросами перезапускать FB сервер, всё равно быстрые запросы. Только после перезагрузки компьютера опять первый запрос долгий.

Поведение одинаково хоть на сервере, хоть Embedded. Причем, если не перезапускать компьютер, а обратиться к другому файлу БД, то первый запуск на другой БД тоже долгий.

Где-то что-то кэшируется, видимо в Windows, не могу понять что и где :)
.

Это поведение вообще типично для всех СУБД, это работает кэш данных. Страницы таблиц и индексов БД СУБД кэширует в памяти.


antoxПодскажите, что можно сделать, что бы первый запрос уже выполнялся со скоростью последующих? Может где-то заранее зарезервировать ресурсы.

Ничего. Это невозможно.

Т.е. можно конечно добиться того, чтобы ВСЕ запросы, и первый, и последующие, выполнялись бы одинаково медленно -- для этого надо отключить кэш ( сделать его минимально маленьким).
Но я уверен, это -- не то, что тебе нужно.
...
Рейтинг: 0 / 0
16.03.2014, 16:12:17
    #38587550
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
antoxПробовал перед последующими запросами перезапускать FB сервер, всё равно быстрые запросы. Только после перезагрузки компьютера опять первый запрос долгий.


Видимо, у тебя НЕ ПОЛУЧАЛОСЬ перезапускать сервер БД, потому что как правило файловый кэш слабо влияет на работу СУБД -- файлы БД обычно большие или очень большие, и операционка не знает, что нужно кэшировать из данных в файле.
На очень маленьких БД такой эффект тем не менее может присутствовать.

Чтобы исключить влияние кэша файловой сиситемы операционки можно размещать БД в "сырых" разделах дисков, без файловой системы, или конфигурационно включать запрещение использования кэша файловой сиситемы. Для этого СУБД должна это всё поддерживать.

Умеет ли это FB -- я не знаю.
...
Рейтинг: 0 / 0
17.03.2014, 12:20:27
    #38588018
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
MasterZivразмещать БД в "сырых" разделах дисков, без файловой системы, или конфигурационно включать запрещение использования кэша файловой сиситемы. Умеет ли это FB -- я не знаю.Умеет.

MasterZivможно конечно добиться того, чтобы ВСЕ запросы, и первый, и последующие, выполнялись бы одинаково медленно -- для этого надо отключить кэшТолько сдается мне автору нужно не замедлиться, а ускориться!

antoxПодскажите, что можно сделать, что бы первый запрос уже выполнялся со скоростью последующих?ускорить диск, например САС рэйд10 или ССД.

На флешке "разогрев базы" практически незаметен, проверял лично
...
Рейтинг: 0 / 0
17.03.2014, 12:23:08
    #38588022
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
Вы меня извините, но убиться можно из-за унылости этого топика.
Мне примерно раз в два месяца выносит мозг таким же вопросом бухгалтер - почему у нее "медленно запускается Firefox, или Word". Естественно, речь идет о первом запуске после загрузки компа.
...
Рейтинг: 0 / 0
17.03.2014, 12:30:22
    #38588038
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
kdvраз в два месяца выносит мозг таким же вопросом бухгалтер - почему у нее "медленно запускается Firefox, или Word"потратить однократно 100-150 баксов предлагать?
...
Рейтинг: 0 / 0
17.03.2014, 14:09:12
    #38588221
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
Ivan_Pisarevskyпотратить однократно 100-150 баксов предлагать?
на что? апгрейд памяти и диска? там это производится регулярно. Известно же, что после загрузки минуты 3-4 винда грузит "ранее использовавшиеся" файлы в кэш. И любые действия в этот момент будут тормозить. Впрочем, первому запуску этот "кэш" обычно не помогает. Потом, при первом запуске Firefox может начать чистить базу с историей. И т.д.
...
Рейтинг: 0 / 0
17.03.2014, 14:27:56
    #38588258
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
kdvИзвестно же, что после загрузки минуты 3-4 винда грузит "ранее использовавшиеся"
файлы в кэш.
Именно поэтому первое, что в ней надо сделать после установки это отключить сервисы
Prefetch и SuperPrefetch.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17.03.2014, 14:36:41
    #38588276
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
Dimitry Sibiryakov,

я привык, меня это не напрягает. вот сейчас 9 гиг чего-то там в ОЗУ влезло, и фиг с ним.
...
Рейтинг: 0 / 0
17.03.2014, 15:35:11
    #38588379
fd00ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
kdvИзвестно же, что после загрузки минуты 3-4 винда грузит "ранее использовавшиеся" файлы в кэшбред какой-то. на нормальных ссд все доступно сразу после появления раб.стола
...
Рейтинг: 0 / 0
17.03.2014, 15:51:40
    #38588402
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
fd00chбред какой-то.
бред - это если впервые слышать про "монитор ресурсов", через который прекрасно видно, что там грузится. Ну и сравнивать ssd с hdd.
p.s. и еще антивирус (дрвеб) не способствует скорости, разумеется.
...
Рейтинг: 0 / 0
17.03.2014, 15:55:17
    #38588410
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
kdvапгрейд памяти и диска?воткнуть ССД под систему и программы.
...
Рейтинг: 0 / 0
17.03.2014, 16:10:28
    #38588436
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
Ivan_Pisarevskyвоткнуть ССД под систему и программы.
пока именно на эту машину ставить ССД как системный страшно. Так что потерпит "медленный первый запуск".
...
Рейтинг: 0 / 0
17.03.2014, 17:24:26
    #38588531
fd00ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
kdv, даже на hdd не тупит видна по 3-4 минуты. если нормальный антивирь использовать, автозагрузку почистить от мусора и дефрагментировать диск.
в любом случае, пруф от какого-нибудь руссиновича на эту темуkdvпосле загрузки минуты 3-4 винда грузит "ранее использовавшиеся" файлы в кэшя бы почитал))
...
Рейтинг: 0 / 0
17.03.2014, 17:48:56
    #38588553
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему первый запрос к базе долгий, а последующие быстрые?
fd00ch даже на hdd не тупит видна по 3-4 минуты.
еще раз - открой Монитор ресурсов прямо после загрузки и немедленного логина, и посмотри, какие файлы читаются и вообще что происходит в системе. Ну и померяй таймером, если у тебя не ссд, когда закончится дисковая активность.

fd00chесли нормальный антивирь использовать, автозагрузку почистить от мусора и дефрагментировать диск.
все это делается и сделано. И даже вот это , что крайне рекомендую. Правда, я таким образом искал причину длинной паузы до логина. И нашел - кривой драйвер.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Почему первый запрос к базе долгий, а последующие быстрые? / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]