|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Здорова товарищи программисты, суть проблемы в следующем Есть база на одном компе, есть клиент в другом городе , через VPN сделали соединение, и подсоединяемся к БД... Программа подсоединяется к БД нормально, но вот запросы, пока обрабатывает долго, ну где то секунд 2-3... Затем решил проверить с помощью ibexpert, сделал простой запрос, типа "select * from <table>", выполняется тоже где около 2 секунд. Хотел узнать какие нужно делать настройки самого firebird , или может как то запросы оптимизировать. Заранее спасибо... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 14:08 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlack, Что вы знаете о ключах? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 14:20 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Есть имеете ввиду в базе, то в таблицах есть необходимые ключи, и первичный и внешний при необходимости ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 14:30 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Сначала проверить локальное соединение для выявления, на сервере проблема или в соединении. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 14:43 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Фаерберд активно использует сетевой обмен даже при самых простых запросах. Если сеть медленная (скорость в канале, пинг) - ничего не поделаешь. Можно отказаться от классической двузвенки с целью оптимизации сетевого трафика. Но сперва следует поверить, в сетевых лагах ли дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 15:17 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackЗатем решил проверить с помощью ibexpert, сделал простой запрос, типа "select * from <table>", выполняется тоже где около 2 секунд. И эксперт и все попсовые компоненты доступа к Firebird даже для простейших запросов делают большую кучу совершенно ненужной фигни, требующей обмена пакетами с сервером. Три варианта решения этой проблемы: 1) Очень тщательно настроить компоненты, отрубив им ненужные опции; 2) Поставить локальное зеркало БД; 3) Использовать уэб-морду вместо десктопного приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 16:21 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Поставить локальное зеркало БД; Использовать уэб-морду вместо десктопного приложения. ----- Как это сделать? И что ты имеешь ввиду по словом "уэб-морда"? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 17:36 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackКак это сделать? И что ты имеешь ввиду по словом "уэб-морда"? Репликация. Web-interface. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 19:50 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Кстати как можно организовать репликацию в FireBird? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 20:18 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackКстати как можно организовать репликацию в FireBird? Как ни странно - с помощью одного из репликаторов Firebird. Модератор: Тема перенесена из форума "Delphi". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 20:30 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
А тут-то она назачем? Проблема не в Firebird, а в компонентах доступа. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 22:26 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
IBE - это не "в компонентах доступа". Ему надо подсказывать в направлении правки настроек VPN, соединения, может Zebedee, может поменьше телодвижений в коннекте делать и т.д. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 22:30 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамIBE - это не "в компонентах доступа". А то он телепатией к серверу ходит, ага... FIB+ они и в IBE - диагноз. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 22:32 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov> А то он телепатией к серверу ходит Ты становишься слишком предсказуемым. :) P.S. Доверия к АК у меня как-то больше, чем к ТС. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2017, 22:34 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackакие нужно делать настройки самого firebirdНи версии, ни конфигов, ни параметров сети, ни описания компонентов доступа, а все туда же настраивать. DS вон на кофейной гуще погадал, а мне лениво. Будет конкретная информация, будет и помощь, а так топик кандидат на убой. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2017, 08:54 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
На сколько медленнее, по сравнению с локальной базе и подключением на localhost? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2017, 08:55 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyDS вон на кофейной гуще погадал Это, к сожалению, не гуща, а "опыт, сын ошибок трудных". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2017, 11:16 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Что вам показать именно? Допустим с клиента который находится в другом городе, это vpn соединение, я делаю простой пинг с сервером бд, то ответ идет с задержкой 44ms, 45ms ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 10:13 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlack, какой VPN используется? На сколько медленнее, по сравнению с локальной базе и подключением на localhost? Пытались ли выяснить причины тормозов в сети с помощью WireShark? Пытались ли посмотреть качество соединения путем сбора статистики потерь icmp пакетов, посылая пакеты максимального размера? Пробовали ли отключить алгоритм Нагла для VPN/WAN интерфейса? Пытались ли профилировать TCP пакеты на порт 3050 (gds_db) через службу QoS? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 10:43 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlack, посмотрите в этой теме , может что-то для себя почерпнете. Еще отмечу, что на стороне Firebird сервера использование Nagle's алгоритма можно отключить настройкой параметра TcpNoNagle в файле firebird.conf Кстати, конфиг FB сервера меняли? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 10:57 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Допустим я запустил ibexpert на локальной машине и тоже самое на удаленной машине, и сделал идентичные запросы, простые, на локальной машине выполнилось за 30ms, а на удаленной выполнилось, где то около 2-х секунд. Насчет conf - файла честно сказать не менял ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 11:36 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackДопустим я запустил ibexpert на локальной машине и тоже самое на удаленной машине, и сделал идентичные запросы, простые, на локальной машине выполнилось за 30ms, а на удаленной выполнилось, где то около 2-х секунд. А теперь то же самое проделай с isql и доложи результаты. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 11:46 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Hello, Mblack! You wrote on 11 мая 2017 г. 12:09:20: Mblack> Допустим я запустил ibexpert на локальной машине и тоже самое на удаленной машине, > и сделал идентичные запросы, простые, на локальной машине выполнилось за 30ms, > а на удаленной выполнилось, где то около 2-х секунд.зачем запускать IBExpert на удаленной машине? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 12:04 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackудаленной выполнилось, где то около 2-х секунд. что именно выполнилось 2 секунды? prepare, execute, fetch? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 13:06 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
обычный запрос в ibexpert "select * from <table>" там где 11 с лишним тыс. записей ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 20:02 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
kdvMBlackудаленной выполнилось, где то около 2-х секунд. что именно выполнилось 2 секунды? prepare, execute, fetch?MBlackобычный запрос... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 21:51 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Это получается fetch.... Сразу не догнал ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 21:59 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackобычный запрос в ibexpert "select * from <table>" там где 11 с лишним тыс. записейТо есть ты рассчитывал, что информация набора 11 тыс. записей будет передана по низкоскоростному интернет каналу за те же 30 мс.? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 23:25 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Увеличится ли скорость передачи если, я буду подулючаться к базе не через vpn, а напрямую к базе, то есть по прямому ip ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2017, 23:59 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackУвеличится ли скорость передачи если, я буду подулючаться к базе не через vpn, а напрямую к базе, то есть по прямому ip Никакой гарантии. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 00:05 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Что можно придумать в такой ситуации, сделать на удаленном клиенте, свою локальную базу, и делать сихронизацию с главной базой, или есть другие пути решения данной проблемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 00:24 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackЧто можно придумать в такой ситуации, сделать на удаленном клиенте, свою локальную базу, и делать сихронизацию с главной базой, или есть другие пути решения данной проблемы? Тебе уже рассказали. Читай с начала. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 00:26 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Решений много говорили, но что больше подходит? Ключи допустим в таблицах необходимые есть, если горить о них..., другое дело медленный канал... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 00:37 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Я из за этого просил совета на форуме... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 00:38 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Ну, смотри. Задержки в канале ты уменьшить не сможешь. Стало быть, выбирай из предложенного: 20463890 Можешь еще на стороне сервера ввести дополнительный компонент, который обращается с СУБД, а клиент с этим компонентом общается по собственному, экономичному протоколу обмена. Но сие трудоемко. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 01:01 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Попробуй пробросить ssh туннель с компрессией. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 05:59 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlack, в треке прокол немного эффективней + можно включить компоессию ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 07:48 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackУвеличится ли скорость передачи если, я буду подключаться к базе не через vpn, а напрямую к базе, то есть по прямому ipКрайне маловероятно. Это возможно только в случае низкой вычислительной мощности маршрутизаторов, являющихся концами твоего VPN тоннеля. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 08:56 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlack, для начала хотелось бы знать - нафига выбирать таблицу целиком? Это моветон с точки зрения клиент-серверной архитектуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 08:59 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackЯ из за этого просил совета на форуме...Автор не потрудился озвучить даже версию сервера, не говоря уж об остальных наводящих вопросах. Нравится бродить в темноте и натыкаться на углы? ну да дело хозяйское. Подземный стук в подвале не лечим. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 10:40 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlack, Ставь терминальный сервер или rdp. В Винде сейчас есть Remote Application (Загрузка сразу приложения вместе с терминальной сессией). ИМХО, путь попроще и подешевле репликации или вэб-морды. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 10:46 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Версия сервера Firebird 2.5... Кстати в приложении я не дергаю всю таблицу, показываю данные за день, делаю выборку по дате и времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 11:48 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackВерсия сервера Firebird 2.5... Кстати в приложении я не дергаю всю таблицу, показываю данные за день, делаю выборку по дате и времени. Да по сути всё равно. Даже если нужна всего одна запись. С медленным каналом нужно что-то делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 12:02 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Hello, Kreatorxxi! You wrote on 12 мая 2017 г. 13:12:37: Kreatorxxi> Да по сути всё равно. Даже если нужна всего одна запись. С медленным каналом нужно что-то делать.канал тут пофиг. но ТС упорно игнорирует просьбу выполнить запрос в isql Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 13:07 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlack, а блобы в той таблице есть? пинг до хоста с БД какую задержку показывает? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 15:34 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Блоб поля нет там у меня, пинг до БД, идет с задержкой 45-44 ms ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 21:14 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
А с какой задержкой идёт пинг до твоего мозга, что ты уже 36 часов игнорируешь совет проверить скорость работы isql-ем?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 21:22 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Хорошо сделаю с помощью isql.... Кстати с помощью какой команды проверить sql просмотреть план выполнение запроса, то есть за сколько он выполнился ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 22:19 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
RTFM SET (STATS, PLAN). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2017, 22:32 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
план запроса ("select * from orders"), там 12 с лишним тыс. записей Я не все 12 тыс. тяну, просто хотел проверить как выполняется запрос, выдал вот такой план. Сам запроса выполняется быстро, а вот подготовка, где 405 ms Это статистика сделанная с помощью IbExpert Plan PLAN (ORDERS NATURAL) ------ Performance info ------ Prepare time = 405ms Execute time = 32ms Avg fetch time = 1,14 ms Current memory = 36 778 212 Max memory = 37 271 332 Memory buffers = 2 048 Reads from disk to cache = 0 Writes from cache to disk = 0 Fetches from cache = 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 12:14 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlack, А чего здесь проверять, если всю таблицу тащишь? В принципе, всё нормально. Покажи DDL таблицы Orders, будет хоть что обсуждать. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 12:44 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackЭто статистика сделанная с помощью IbExpert Вот жеж упёртое создание... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 13:26 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackплан запроса ("select * from orders"), там 12 с лишним тыс. записей PLAN (ORDERS NATURAL) У тебя нет условия выборки, ты просто вытягиваешь всю таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 13:27 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
А может запись 100кило. 1 Гиг качнуть на слабой сетке... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 15:16 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Товарищи я жен написал вам что в программе не тащу все данные, я для примера написал. А это план запроса, который тащит определенные данные, в основном как я делаю в программе, даты поставлены, чисто для примера select * from orders where orderdate >= '01.05.2017' and orderdate <= '20.05.2017' План: Plan PLAN (ORDERS NATURAL) ------ Performance info ------ Prepare time = 421ms Execute time = 78ms Avg fetch time = 2,79 ms Current memory = 36 793 516 Max memory = 37 296 776 Memory buffers = 2 048 Reads from disk to cache = 0 Writes from cache to disk = 2 Fetches from cache = 0 DDL - таблицы orders SET SQL DIALECT 3; /******************************************************************************/ /*** Tables ***/ /******************************************************************************/ CREATE TABLE ORDERS ( ID DINT_NOT_NULL NOT NULL /* DINT_NOT_NULL = INTEGER NOT NULL */, ORDERNUM VARCHAR(50), ORDCOUNT SMALLINT DEFAULT 0, CUSTOMERID DINT_NOT_NULL /* DINT_NOT_NULL = INTEGER NOT NULL */, OPERATORID DINT_NOT_NULL /* DINT_NOT_NULL = INTEGER NOT NULL */, ORDERDATE DDATE /* DDATE = DATE */, ORDERTIME DTIME /* DTIME = TIME */, DELIVERYADR VARCHAR(250), ITEMKCH DINT_NULL /* DINT_NULL = INTEGER */, PKGONE SMALLINT, ORDERSTATUS SMALLINT DEFAULT 1, CURRDELAVERY DMONEY DEFAULT 0 /* DMONEY = DECIMAL(15,2) */, ODISCONT DMONEY DEFAULT 0 /* DMONEY = DECIMAL(15,2) */, DESCORDER DTEXT /* DTEXT = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */, MOREINFORDER DTEXT /* DTEXT = BLOB SUB_TYPE 1 SEGMENT SIZE 80 */, APRINT SMALLINT DEFAULT 0 ); /******************************************************************************/ /*** Primary keys ***/ /******************************************************************************/ ALTER TABLE ORDERS ADD CONSTRAINT PK_ORDERS PRIMARY KEY (ID); /******************************************************************************/ /*** Indices ***/ /******************************************************************************/ CREATE INDEX ORDERS_IDX1 ON ORDERS (CUSTOMERID); CREATE INDEX ORDERS_IDX2 ON ORDERS (ORDERSTATUS); CREATE INDEX ORDERS_IDX3 ON ORDERS (ORDERNUM); /******************************************************************************/ /*** Triggers ***/ /******************************************************************************/ SET TERM ^ ; /******************************************************************************/ /*** Triggers for tables ***/ /******************************************************************************/ /* Trigger: ORDERS_BD0 */ CREATE OR ALTER TRIGGER ORDERS_BD0 FOR ORDERS ACTIVE BEFORE DELETE POSITION 0 AS declare variable cRec integer; begin /* Trigger text */ select count(id) from ordersdetails where ordid = old.id into :cRec; if (:cRec > 0) then exception not_delete_orders; end ^ SET TERM ; ^ ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 18:49 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlack, при таком плане сервер выдает ибэксперту только те записи, которые влезают в его грид. Поэтому если ты хочешь проверить скорость выборки ВСЕХ записей, возвращаемых запросом, тебе надо жать не кнопку execute, а кнопку Fetch All (два зеленых треугольника). http://www.ibase.ru/client/ ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 19:03 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlack, Во-первых, даже если Вы рассматриваете последний запрос, то у Вас фильтр по orderdate, а индекса по orderdate у Вас нет, сразу получаете проход по натуралу. Во-вторых, у Вас, я вижу, BLOB'ы. Что в них? Гигабайты? Вы покажите нам статистику вот по такому, например, запросу: Код: sql 1. 2. 3.
Кстати, триггер Ваш - полная глупость. Для этого нужен форейн ключ. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 19:10 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
KreatorXXI, Спасибо за замечание сделаю с помощью foreign Key ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 19:33 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
KreatorXXIMBlack, Во-первых, даже если Вы рассматриваете последний запрос, то у Вас фильтр по orderdate, а индекса по orderdate у Вас нет, сразу получаете проход по натуралу. Во-вторых, у Вас, я вижу, BLOB'ы. Что в них? Гигабайты? Вы покажите нам статистику вот по такому, например, запросу: Код: sql 1. 2. 3.
Кстати, триггер Ваш - полная глупость. Для этого нужен форейн ключ. Вот статистика, по запросу который ты указал Plan PLAN (ORDERS INDEX (PK_ORDERS)) ------ Performance info ------ Prepare time = 422ms Execute time = 31ms Avg fetch time = 31,00 ms Current memory = 36 980 704 Max memory = 37 296 776 Memory buffers = 2 048 Reads from disk to cache = 0 Writes from cache to disk = 2 Fetches from cache = 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 19:36 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlack, Это по удалёнке что-ли? Не может FB отбирать одну запись по первичному ключу 31ms. Даже не знаю что сказать. А вкладка "Анализ производительности" что показывает? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 20:13 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlack, регулярный prepare time в 0.5 сек как бы намекает, что таблица имеет конский размер. Я не увидел, чтобы вы приводили размер БД или размер таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 20:17 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
kdvMBlack, регулярный prepare time в 0.5 сек как бы намекает, что таблица имеет конский размер. Я не увидел, чтобы вы приводили размер БД или размер таблицы. Что имеете ввиду размер таблицы? Если количество записей то в это таблице около 12 с половиной тыс. записей ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 20:22 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MBlackЧто имеете ввиду размер таблицы? я имею в виду gstat -r или gstat -r -t tablename у вас там блобы, так что таблица может занимать сотни гиг даже с 12к записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 20:24 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
kdv, Лучше мне BLOB убрать, я сейчас посмотрел, они кстати и не нужны, потому как там может хранится строка, где может быть до 1 тыс. символов ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 20:28 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
MikeDDMBlack, а блобы в той таблице есть?... MBlack Блоб поля нет там у меня ... kdv... у вас там блобы , так что таблица может занимать сотни гиг даже с 12к записей. MBlackkdv, Лучше мне BLOB убрать , я сейчас посмотрел, они кстати и не нужны, потому как там может хранится строка, где может быть до 1 тыс. символов Пациент - лжец. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 22:16 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Ошибся, сказав что нет блобов, с кем не бывает ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2017, 23:04 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
kdvMBlack, регулярный prepare time в 0.5 сек как бы намекает, что таблица имеет конский размер. Я не увидел, чтобы вы приводили размер БД или размер таблицы. Дима, вопрос можно? Где-то есть информация по зависимости времени prepare от размера таблицы? А то у меня на одном процессе время prepare плавает от 15 мс до пары минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2017, 02:00 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Igor Gallemar, ты что хочешь? Формулы как таковой нет. Во время prepare оценивается кардинальность таблиц. Оценивается она примерно используя PP. Чем больше таблица тем больше будет PP и тем дольше будет идти prepare. Тут как-то был топик про таблицу размером в 1 Гб prepare по которой шёл минуту. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2017, 10:42 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Симонов ДенисТут как-то был топик про таблицу размером в 1 Гб prepare по которой шёл минуту. не 1 гигабайт, а 1 терабайт, и не таблица, а база, и не минуту, а 20 секунд. :-) http://www.ibase.ru/fb1tbtech/ Насчет скана pointer pages - все верно. Но еще я вспомнил, что prepare состоит из нескольких действий, и в API FB/IB это происходит с многими roundtrips, что на медленных каналах как раз дает тормоза. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2017, 11:38 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Симонов Денис, да, и в ФБ 3.0 трафик в коннекте оптимизирован по сравнению с предыдущими версиями, так что еще зависит и от версии ФБ. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2017, 11:39 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
kdvя вспомнил, что prepare состоит из нескольких действий, и в API FB/IB это происходит с многими roundtrips, что на медленных каналах как раз дает тормоза. Лучше забудь это обратно. Именно prepare всегда был одним трипом. А в 2.5 оптимизировали и его необязательную обвеску типа get_sql_info(). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2017, 11:52 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Симонов Денис..Во время prepare оценивается кардинальность таблиц. Оценивается она примерно используя PP. Чем больше таблица тем больше будет PP и тем дольше будет идти prepare... А индексы во время prepare помогают? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2017, 12:06 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
чччДА индексы во время prepare помогают? в смысле? сервер должен понять, какие индексы есть, и какие имеет смысл использовать. Так что чем больше индексов, тем дольше prepare. Конечно, речь про миллисекунды, но все-таки. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2017, 12:30 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
Тяжёлый случай. Я похожий запрос писал на своей таблице. Вот такие цифры. CREATE TABLE UMASS ( ID_UMS ID NOT NULL /* ID = INTEGER */, ID_OPER ID NOT NULL /* ID = INTEGER */, ID_MDL ID NOT NULL /* ID = INTEGER */, ID_ISP INTEGER, ID_MASTER INTEGER, ID_KONTR INTEGER, DAT_ISP DAT_REAL /* DAT_REAL = DATE check (value is null or (value between '01.01.1900' and '31.12.2030' )) */, DAT_MASTER DAT_REAL /* DAT_REAL = DATE check (value is null or (value between '01.01.1900' and '31.12.2030' )) */, DAT_KONTR DAT_REAL /* DAT_REAL = DATE check (value is null or (value between '01.01.1900' and '31.12.2030' )) */, NOR_UMS NUMERIC(9,3), ID_MTP ID /* ID = INTEGER */, ID_TEXNOL INTEGER, DATN DAT_REAL /* DAT_REAL = DATE check (value is null or (value between '01.01.1900' and '31.12.2030' )) */, TIMN NUMERIC(5,0), PT NUMERIC(1,0), DATR DAT_REAL /* DAT_REAL = DATE check (value is null or (value between '01.01.1900' and '31.12.2030' )) */, SD INTEGER, ID_KIT ID /* ID = INTEGER */, ID_PAS ID /* ID = INTEGER */, NNTP INTEGER, NNOP NUMERIC(7,2), KOL_RAB SMALLINT, NDAT DATE, NTIM SMALLINT, KDATT DATE, KTIM SMALLINT, PRUCH SMALLINT, TIME_ISP TIME, TIME_MASTER TIME, TIME_KONTR TIME ); /******************************************************************************/ /*** Primary keys ***/ /******************************************************************************/ ALTER TABLE UMASS ADD CONSTRAINT PK_UMASS PRIMARY KEY (ID_UMS); /******************************************************************************/ /*** Foreign keys ***/ /******************************************************************************/ ALTER TABLE UMASS ADD CONSTRAINT FK_UMASS_RELATIONS_MODUL FOREIGN KEY (ID_MDL) REFERENCES MODUL (ID_MDL) ON DELETE CASCADE; ALTER TABLE UMASS ADD CONSTRAINT FK_UMASS_RELATIONS_RELTP FOREIGN KEY (ID_OPER) REFERENCES RELTP (ID_RTP) ON DELETE CASCADE; ALTER TABLE UMASS ADD CONSTRAINT FK_UMASS_RELATIONS_RELTP1 FOREIGN KEY (ID_MTP) REFERENCES RELTP (ID_RTP) ON DELETE CASCADE; /******************************************************************************/ /*** Indices ***/ /******************************************************************************/ CREATE INDEX UMASS_IDX1 ON UMASS (DATN); CREATE INDEX UMASS_IDX2 ON UMASS (ID_KIT); CREATE INDEX UMASS_IDX3 ON UMASS (ID_TEXNOL); CREATE INDEX UMASS_IDX4 ON UMASS (DAT_ISP); CREATE INDEX UMASS_IDX5 ON UMASS (DAT_MASTER); CREATE INDEX UMASS_IDX6 ON UMASS (DAT_KONTR); CREATE INDEX UMASS_IDX_PAS ON UMASS (ID_PAS); Триггеры не показал, не важны здесь. Запрос. select ConnectionType "Тип соединения", sum(c01) "01", sum(c02) "02", sum(c03) "03", sum(c04) "04", sum(c05) "05", sum(c06) "06", sum(c07) "07", sum(c08) "08", sum(c09) "09", sum(c10) "10" from ( select a.id_isp ConnectionType, iif(extract(day from a.dat_isp)=1,1,0) c01, iif(extract(day from a.dat_isp)=2,1,0) c02, iif(extract(day from a.dat_isp)=3,1,0) c03, iif(extract(day from a.dat_isp)=4,1,0) c04, iif(extract(day from a.dat_isp)=5,1,0) c05, iif(extract(day from a.dat_isp)=6,1,0) c06, iif(extract(day from a.dat_isp)=7,1,0) c07, iif(extract(day from a.dat_isp)=8,1,0) c08, iif(extract(day from a.dat_isp)=9,1,0) c09, iif(extract(day from a.dat_isp)=10,1,0) c10 from umass a where a.dat_isp between '01.03.2017' and '10.03.2017' ) group by 1 Анализ. План PLAN SORT (A INDEX (UMASS_IDX4)) ------ Информация о производительности ------ Время подготовки запроса = 0ms Время выполнения запроса = 79ms Среднее время на получение одной записи = 0,26 ms Current memory = 58 422 800 Max memory = 59 574 984 Memory buffers = 12 000 Reads from disk to cache = 0 Writes from cache to disk = 0 Чтений из кэша = 24 274 Таблица - чуть больше двух миллионов записей. Но в выборке по фильтру чуть больше 12000. Как у ТС. Но это не удалёнка. Всё же интересно чем вызвано такое большое время подготовки запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2017, 12:47 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
KreatorXXI, пусть автор сравнит локально и удаленно. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2017, 13:45 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
kdvне 1 гигабайт, а 1 терабайт, и не таблица, а база, и не минуту, а 20 секунд. :-) да с порядком я ошибся :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2017, 16:16 |
|
Медленно работает FireBird
|
|||
---|---|---|---|
#18+
kdvСимонов Денис, да, и в ФБ 3.0 трафик в коннекте оптимизирован по сравнению с предыдущими версиями, так что еще зависит и от версии ФБ. У меня 2.5 и от разработчика уже получил предложение пробить тему финансирования перехода с 2.5 на 3.0 :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2017, 19:32 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1561581]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
212ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
160ms |
get tp. blocked users: |
2ms |
others: | 315ms |
total: | 733ms |
0 / 0 |