Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Время prepare запроса / 25 сообщений из 46, страница 1 из 2
29.05.2017, 10:02
    #39461285
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
От чего может зависить время prepare? От индексов, триггеров, размера таблицы, а ещё от чего? Вопрос к чему - в боевой базе время подготовки запроса "плавает" от 5 мс до 3 минут. Почему?
...
Рейтинг: 0 / 0
29.05.2017, 10:20
    #39461295
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Gallemar,

Одного и того же, или разных?
...
Рейтинг: 0 / 0
29.05.2017, 10:21
    #39461297
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
WildSeryGallemar,

Одного и того же, или разных?
Одного и того же
...
Рейтинг: 0 / 0
29.05.2017, 10:26
    #39461300
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Gallemar,

1. Делался ли перед этим prepare других запросов в которые входят те же таблицы
2. Загрузка системы в момент prepare
...
Рейтинг: 0 / 0
29.05.2017, 10:28
    #39461302
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Симонов ДенисGallemar,

1. Делался ли перед этим prepare других запросов в которые входят те же таблицы
2. Загрузка системы в момент prepare

1. Делался. Вообще таблица одна из основных, шапка документа. В неё постоянно идет чтение/запись.
2. Загрузка какая? Нагрузка аппаратки или нагрузка на Бд?
...
Рейтинг: 0 / 0
29.05.2017, 10:32
    #39461305
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Gallemar,

в ОС нагрузка на процессор, диски. Наиболее вероятно что какой-то тяжёлый запрос выполняется в это время
...
Рейтинг: 0 / 0
29.05.2017, 10:34
    #39461307
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Симонов Денис, тяжелый запрос на эту таблицу или вообще в базе?
...
Рейтинг: 0 / 0
29.05.2017, 10:52
    #39461320
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Gallemar,

вообще в базе. Ты последи когда prepare идёт медленно. Догадки можно строить долго
...
Рейтинг: 0 / 0
29.05.2017, 11:01
    #39461337
Коваленко Дмитрий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
GallemarОт чего может зависить время prepare? От индексов, триггеров, размера таблицы, а ещё от чего? Вопрос к чему - в боевой базе время подготовки запроса "плавает" от 5 мс до 3 минут.
Как вариант - от количества отложенных операций на клиенте, работающем через fbclient.dll
10-минутный "prepare"
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
option explicit

dim cn

set cn=createobject("ADODB.Connection")

cn.Provider="LCPI.IBProvider.3"

cn.Properties("location").value="localhost:d:\database\ram\ibp_test_fb30_d3_2.gdb"
cn.Properties("user id").value="GAMER"
cn.Properties("password").value="vermut"
cn.Properties("dbclient_library").value="fbclient_30.dll"

call cn.Open()

call cn.BeginTrans()

dim cmd, rs
set cmd=createobject("ADODB.Command")

set cmd.ActiveConnection=cn

cmd.CommandText="select ID from DUAL"

dim n

n=0

wscript.echo now()&" - START"

while(n<50000)
 n=n+1 

 if((n mod 10000)=0)then
  wscript.echo now()&" - "&n
 end if

 set rs=cmd.Execute()

 call rs.Close()
 
 set rs=nothing
wend

wscript.echo now()&" - STOP "

wscript.echo now()&" - SET QUERY TEXT"

cmd.CommandText="select ID+1 from DUAL"

wscript.echo now()&" - PREPARE+EXECUTE [relax and wait]"

set rs=cmd.Execute()

wscript.echo now()&" - FETCH FIRST RECORD"

wscript.echo "ID+1="&cstr(rs(0).value)

wscript.echo now()&" - EXIT"



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
29.05.2017 10:32:11 - START
29.05.2017 10:32:12 - 10000
29.05.2017 10:32:15 - 20000
29.05.2017 10:32:18 - 30000
29.05.2017 10:32:22 - 40000
29.05.2017 10:32:27 - 50000
29.05.2017 10:32:27 - STOP
29.05.2017 10:32:27 - SET QUERY TEXT
29.05.2017 10:32:27 - PREPARE+EXECUTE [relax and wait]
29.05.2017 10:42:44 - FETCH FIRST RECORD
ID+1=2
29.05.2017 10:42:44 - EXIT

По факту, конечно, здесь тупит не prepare. Но вызов идет именно isc_dsql_prepare.

GallemarПочему?

Потому что вот

----
А еще можно помучать однонаправленные списки объектов
...
Рейтинг: 0 / 0
29.05.2017, 11:11
    #39461349
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Коваленко ДмитрийА еще можно помучать однонаправленные списки объектов
Это только сборка клиента или именно сервер:
...
Рейтинг: 0 / 0
29.05.2017, 11:11
    #39461351
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
?
...
Рейтинг: 0 / 0
29.05.2017, 11:12
    #39461355
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Симонов ДенисGallemar,

вообще в базе. Ты последи когда prepare идёт медленно. Догадки можно строить долго
Да тут главная проблема, что о медленном prepare я узнаю постфактум, на следующий день. Остается только постоянно гонять трассировку, в надежде поймать тяжелый запрос, ну и gstat статистику о таблице смотреть.
...
Рейтинг: 0 / 0
29.05.2017, 11:18
    #39461363
Коваленко Дмитрий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
GallemarКоваленко ДмитрийА еще можно помучать однонаправленные списки объектов
Это только сборка клиента или именно сервер:
В первом случае тупит fbclient.

А во втором - сервер.
...
Рейтинг: 0 / 0
29.05.2017, 11:59
    #39461397
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Analyzing database pages ...
DOCHEAD (1019)
Primary pointer page: 2181 <- увеличение может косвенно говорить об увеличении времени подготовки?:
...
Рейтинг: 0 / 0
29.05.2017, 12:06
    #39461404
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Gallemar,

тут не те объёмы чтобы prepare долгим было. В тесте у kdv время prepare было 20 сек на терабайтной БД. Где табличка была в несколько миллиардов записей. Там одних PP было 30000.
...
Рейтинг: 0 / 0
29.05.2017, 12:13
    #39461410
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Симонов ДенисТам одних PP было 30000.
и они были равномерно размазаны по терабайтному файлу БД.
...
Рейтинг: 0 / 0
29.05.2017, 12:17
    #39461419
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Целиком статистика этой таблицы:
Analyzing database pages ...
DOCHEAD (1019)
Primary pointer page: 2181, Index root page: 2182
Average record length: 178.34, total records: 21068778
Average version length: 54.89, total versions: 71119, max versions: 1024
Data pages: 283423, data page slots: 283423, average fill: 89%
Fill distribution:
0 - 19% = 12
20 - 39% = 2
40 - 59% = 7
60 - 79% = 3
80 - 99% = 283399
...
Рейтинг: 0 / 0
29.05.2017, 12:26
    #39461427
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
GallemarAnalyzing database pages ...
DOCHEAD (1019)
Primary pointer page: 2181, Index root page: 2182
Average record length: 178.34, total records: 21068778
Average version length: 54.89, total versions: 71119, max versions: 1024 Ужас. Тут мусор кто-нибудь собирает ?
...
Рейтинг: 0 / 0
29.05.2017, 12:27
    #39461429
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
когда-то давно ещё на проверке прав могли возникнуть тормоза.
но это вродь допиливали.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
29.05.2017, 12:35
    #39461436
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
GallemarДа тут главная проблема, что о медленном prepare я узнаю постфактум, на следующий день.Откуда известно, что тормозит именно препаре ?
...
Рейтинг: 0 / 0
29.05.2017, 13:06
    #39461477
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
hvladGallemarAnalyzing database pages ...
DOCHEAD (1019)
Primary pointer page: 2181, Index root page: 2182
Average record length: 178.34, total records: 21068778
Average version length: 54.89, total versions: 71119, max versions: 1024 Ужас. Тут мусор кто-нибудь собирает ?

Собирает. Sweep делается раз в сутки,просто в эту таблицу постоянно чтение/запись.
...
Рейтинг: 0 / 0
29.05.2017, 13:07
    #39461478
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
hvladGallemarДа тут главная проблема, что о медленном prepare я узнаю постфактум, на следующий день.Откуда известно, что тормозит именно препаре ?
Трассировал вместе с разработчиком софтины
...
Рейтинг: 0 / 0
29.05.2017, 14:14
    #39461576
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
hvladGallemarДа тут главная проблема, что о медленном prepare я узнаю постфактум, на следующий день.Откуда известно, что тормозит именно препаре ?
Могу на почту скинуть логи и переписку с разработчиком,его умозаключения.
...
Рейтинг: 0 / 0
29.05.2017, 16:58
    #39461716
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
Gallemar,

Умозаключения вряд-ли надо (хотя можно), но лучше факты - лог трейса, раз трейсом исследовали.
...
Рейтинг: 0 / 0
29.05.2017, 17:21
    #39461724
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Время prepare запроса
kdv, позже скину. Только трейс не фб,а самой софтины.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Время prepare запроса / 25 сообщений из 46, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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