На FB2.5 в 3 раза увеличилось время выполненения запроса

Совместимость InterBase, Firebird, Yaffil между собой и по версиям

Модераторы: kdv, Alexey Kovyazin

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: На FB2.5 в 3 раза увеличилось время выполненения запроса

Сообщение kdv » 18 апр 2011, 15:30

gbak.exe" -r -t -l
кстати, откуда вы такую траву берете?
опции -t и -l имеют смысл только для бэкапа, но не для рестора.
www.ibase.ru/devinfo/gbak.htm#restore

Zoran
Сообщения: 37
Зарегистрирован: 27 авг 2008, 12:08

Re: На FB2.5 в 3 раза увеличилось время выполненения запроса

Сообщение Zoran » 20 апр 2011, 10:18

hvlad писал(а):Это из-за того, что в 2.5 security class'ы именуются не так, как привык 2.1
Народ вроде находил как обойти, поищи на sql.ru
Нашел нечто похожее в этой ветке: http://www.sql.ru/forum/actualthread.as ... %20defined
Я так понял, что нужно бакапить GBAKом от 2.1 с сервера 2.5 и восстанавливать им же на сервер 2.1. Не получается. Ошибка таже.
Точнее не подскажете где видели решение?
кстати, откуда вы такую траву берете?
опции -t и -l имеют смысл только для бэкапа, но не для рестора.
Опции смысла не имеют, но и не мешают. Файл скопировали, поменяли только то, что нужно.

По производительности:
Поставили последний билд 2.5.1...260.
Попробовали менять параметры в настройках FB: GCPolicy=background, DefaultDbCachePages=8000, ForcedWrites=Off(хоть и не было такого в 2.5 - вписали :) ). Пробовали на Классик и СуперКлассик на линукс. Время выполнения запросов всегда одинаковое: 22+/-0,5 сек. Что еще можно поковырять или попробовать?
Последний раз редактировалось Zoran 20 апр 2011, 10:44, всего редактировалось 1 раз.

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Re: На FB2.5 в 3 раза увеличилось время выполненения запроса

Сообщение dimitr » 20 апр 2011, 10:28

а что там с подготовкой тестовой базы? Это может оказаться самым быстрым способом.

Zoran
Сообщения: 37
Зарегистрирован: 27 авг 2008, 12:08

Re: На FB2.5 в 3 раза увеличилось время выполненения запроса

Сообщение Zoran » 20 апр 2011, 11:40

dimitr писал(а):а что там с подготовкой тестовой базы? Это может оказаться самым быстрым способом.
Я же спросил:
По итогу на Windows машине мы имеем отставание FB2.5 на 3 сек. Это где-то 15% отставания :(.
Имеет смысл на такой базе тестовый пример собрать для Вас?
Соответственно вопросы:
1. На какой БД вам сделать бакап. Готовый есть на 2.5 , но восстановить его под 2.1 удалось с ошибкой. И хотя план одинаковый, нет уверенности что это не скажется.
2. На виндус небольшое отличие (15%). Такое устроит?

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Re: На FB2.5 в 3 раза увеличилось время выполненения запроса

Сообщение dimitr » 20 апр 2011, 17:30

1. бекап лучше на 2.1
2. за неимением лучшего можно и такой тест покопать. Хотя вышеописанная трехкратная разница была бы много полезнее.

Zoran
Сообщения: 37
Зарегистрирован: 27 авг 2008, 12:08

Re: На FB2.5 в 3 раза увеличилось время выполненения запроса

Сообщение Zoran » 22 апр 2011, 13:21

Приведу сравнительные таблицы времени выполнения 5 различных запросов. Может быть кому то это будет интересно.

Изображение

машина 1 - 2 *2,66 Opteron, 4Gb, Linux Fedora Core 8.0 с ядром RedHat FB Classic
машина 2 - 2,4 Core Duo, 2Gb, Windows 7 FB SuperClassic
машина 3 - 2*2.33 Coru2Duo E6550, 3GB, Linux CentOS release 5.6, ядра 2.6.18-238.9.1.el5 и 2.6.38.3 FB Classic
Все запросы выполнялись по 3 раза подряд и данные заносились в таблицу.

Комментарий:
Машина 1.
3 запрос - это запрос с которого все началось, его выполнение на этой машине под 2.1 выполнялось 8 сек, под 2.5 - 22 сек.
По итогу после нескольких переустановок FB (базы не менялись и не перемещались) на 2.1 запрос также стал выполняться медленно. Вернуть скорость не смогли.
Как ни странно, видим в 1 и 5 запросе, что скорость выполнения у 2.5.1 выше чем у 2.5 и близка к 2.1. Но например 4 запрос стабильно выполняется быстрее.
8,813 для 2.5.1 - описка. должно быть 0,813.

Машина 2
На данной машине были восстановлены базы под 2.1 и 2.5.
Чудесным образом видим, что 3 запрос выполняется в 3 раза быстрее чем на 2.1.

Машина 3
Опять видим ситуацию, что 3 запрос под 2.1 выполняется в 3 раза быстрее, чем под 2.5 (Стабильно 3 раза подряд).
Видим, что ядро Vanilla на некоторых запросах чуть быстрее, но разница небольшая. Порядка 1-2%. Причем на 2.5 стабильно быстрее, а на 2.1 где как.

Тесты, конечно, не идеальные, но может кому-то пригодятся.

Для себя мы решили установить 2.5.1 Classic и при возможности перейти на ядро Vanilla, а также продолжать оптимизировать запросы, выполняющиеся более 10 сек.

Всем Спасибо за дискуссию.
P.S. Если у нас получится собрать пример, где стабильно будет повторяться медленное выполнение запросов под 2.5 по сравнению с 2.1 мы его пришлем.

Rik
Сообщения: 16
Зарегистрирован: 16 май 2011, 14:41

Re: На FB2.5 в 3 раза увеличилось время выполненения запроса

Сообщение Rik » 16 май 2011, 14:49

У нас такая же проблема.
Один запрос по таблице проходит пулей, второй по этой-же самой табице, кое-как шевелится. Проблем решилась после того, как удалили индекс, который использует второй запрос и создали по новой.
Проблема в том, что таких кривых индексов после перехода с FB 2.1 на 2.5 получилось много, в разных таблицах, сейчас приходится их вылавливать и пересоздавать...

Rik
Сообщения: 16
Зарегистрирован: 16 май 2011, 14:41

Re: На FB2.5 в 3 раза увеличилось время выполненения запроса

Сообщение Rik » 16 май 2011, 16:01

Rik писал(а):У нас такая же проблема.
Один запрос по таблице проходит пулей, второй по этой-же самой табице, кое-как шевелится. Проблем решилась после того, как удалили индекс, который использует второй запрос и создали по новой.
Проблема в том, что таких кривых индексов после перехода с FB 2.1 на 2.5 получилось много, в разных таблицах, сейчас приходится их вылавливать и пересоздавать...
Нет, поторопился с выводами, нифига проблема не решилась, в рабочей базе все осталось по прежнему...

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: На FB2.5 в 3 раза увеличилось время выполненения запроса

Сообщение kdv » 16 май 2011, 17:45

запросы, планы, статистика индексов?

Rik
Сообщения: 16
Зарегистрирован: 16 май 2011, 14:41

Re: На FB2.5 в 3 раза увеличилось время выполненения запроса

Сообщение Rik » 16 май 2011, 18:27

kdv писал(а):запросы, планы, статистика индексов?
Проблема похоже не в этом. Сгодня обнаружил, что как и у Zoran, у меня старый Linux. CentOS версия не знаю, но glibc на ней 2.5. Завтра разверну FireBird на старом сервере, там glibc 2.9, потом отпишусь...

Rik
Сообщения: 16
Зарегистрирован: 16 май 2011, 14:41

Re: На FB2.5 в 3 раза увеличилось время выполненения запроса

Сообщение Rik » 17 май 2011, 10:48

Rik писал(а): Сгодня обнаружил, что как и у Zoran, у меня старый Linux. CentOS версия не знаю, но glibc на ней 2.5. Завтра разверну FireBird на старом сервере, там glibc 2.9, потом отпишусь...
Проблема решена, на линуксе с glibc 2.9 всё летает пулей....

Ответить