powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Производительность на запись FB 3.0.3
80 сообщений из 80, показаны все 4 страниц
Производительность на запись FB 3.0.3
    #39657257
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую, коллеги!

Пробую внедрить трешку на один из своих серверов и получил неприятную картинку с записью.
Есть пачка пишущих запросов (от своего репликатора), там каждый запрос обрабатывает ровно одну запись, обращение по ПК, вперемешку инсерт-апдейт-делит, размер пачки порядка нескольких тысяч запросов (как правило до 30 тысяч, типично 2 ... 5 тыс), один коммит в конце пачки. На 2.5 работает в разы быстрее (в 2 ... 4 раза), т.е. на погрешность измерения не спишешь.

Это один я такой тормоз или кто еще сталкивался? Куда копать?

Под ногами сервер с парой зионов шестиядерников, 112 гиг ОЗУ, 4 ССД в 10 рэйде на адаптеке с ББУ. размер базы примерно 100 гиг. сервера для сравнения все похуже, но рэйды везде, типично 4 САС на адаптеках с ББУ, везде 2.5 классик, все в работе с юзерами по нескольку десятков коннектов на каждом. Тестовый сервер без юзеров, только принимает пачки репликатора.

Что пробовал:

1. менял центос с 6.7 на 7.5 - эффекта нет.
2. менял классик-супер - эффекта нет.
3. менял синхронную - асинхронную запись (форсед райтс) - эффекта нет.
4. игрался с кэшем страничек от 2000 до 2000000 - эффекта нет.
5. пробовал держать открытыми коннекты на фоне - эффекта нет.

Сам сервер отлично обслуживал порядка 150 коннектов на 2.5 классик, вывели на апгрейд ОСи и файрберда, жив живехонек, никаких тормозов с копированием файлов не отмечено. никаких виртуалок, железка на ней центос, на центосе файрберд.

Если что-то недосказал, готов накопать и сказать. типичную картинку из мониторинга прилагаю.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657276
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

триггеры есть ?
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657283
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladIvan_Pisarevsky,

триггеры есть ?В изобилии, но для юзера REPLICATOR в подавляющем большинстве таблиц сделаны обходы, чтобы триггер ничего не делал.

типичная картинка примерно такая:
Код: sql
1.
2.
3.
4.
5.
begin
  IF (CURRENT_USER <> 'REPLICATOR') THEN BEGIN
   --тут действия триггера
  END
end



Все базы идентичны по метаданным.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657287
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что обозначают обведённые красным числа ?
В соседних строках - хорошие значения ?
Т.е. не все пачки тормозят ?
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657324
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

а как работает репликатор у него постоянный коннект или коннект отправили пачку дисконнект?
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657326
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladА что обозначают обведённые красным числа ?время в секундах, которое тратит проблемный сервер на отработку скрипта.
hvladВ соседних строках - хорошие значения ?В соседних строках другие сервера, которые стоят по филиалам. Отрабатывают все очень похожие скрипты.

7 филиальных (точнее 6 рабочих и седьмой тестовый), 1 центральный, белые строки - филиалы скидывают центру, серые - филиалы принимают скрипт из центра. седьмой стоит на то же площадке (привинчены в одной стойке), что и центральный, т.е никаких сетевых накладок нет.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657328
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисIvan_Pisarevsky,

а как работает репликатор у него постоянный коннект или коннект отправили пачку дисконнект?коннект-старт пишущей транзакции-цикл (вычитать строку из текстовика (не более 2к символов) отпрепарировать запрос без параметров-применить запрос)-коммит-дисконнект.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657337
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

коннект-дисконнект в 3.0 чуть дороже, но вряд ли может так сильно повлиять.
LINGER на SS не пробовал ставить чтобы кеш не сбрасывался между коннектами? В прочем это почти тоже самое что пункт 5.

3.0 работает через родной клиент или 2.5. Если родной то можно попробовать поиграться с отключением шифрования трафика, по моим замерам это ~5-10% прироста даёт. Ну и можно поиграться со спецификации строки подключения inet4, inet6
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657345
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисконнект-дисконнект в 3.0 чуть дороже, но вряд ли может так сильно повлиять.на одну пачку одна пара коннект-дисконнект, на меленьких пачках нет разброса по времени.
Симонов ДенисLINGER на SS не пробовал ставить чтобы кеш не сбрасывался между коннектами?нет, но можно попробовать. И таки да, специально держал в фоне эксперт, чтобы придержать ОАТ и сброс кэша. Мусора нет, свип пролетает за секунду. Застрявших транзакций нет.
Симонов Денис3.0 работает через родной клиентРодной клиент из того же тарбола в офсайта файрберда. Специально шифрование не включал, сейчас покручу.

На селекты, кстати говоря, претензий нет. Тестирую уже несколько месяцев, все (или близко к тому) проблемные запросы переловил, где план уползал в "неведомые дали".
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657346
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это сервер в тестовом режиме или в боевом ?
Кроме репликатора у него есть клиенты ?
Можно на нём поднять рядом 2.5 и накатывать репликацию и на 2.5 тоже ?
Суть - сравнить 2.5 и 3.0 в максимально подобном окружении
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657349
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

шифрование трафика включено по умолчанию. Я предлагаю попробовать его отключить. Но как я уже сказал это даст не более 5-10% прироста
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657350
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз чтение не тормозит, возникает ещё вопрос о настройках файловой системы - журнал, барьер и прочее (тебе виднее).
Ну и не помешало бы какой-нить тест random IO, write с мелкими блоками (желательно как страница у БД)
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657364
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисшифрование трафика включено по умолчанию. Я предлагаю попробовать его отключить. Но как я
уже сказал это даст не более 5-10% прироста

Насколько я помню, при этом полностью отпадёт возможность использовать аутентификацию srp.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657366
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЭто сервер в тестовом режиме или в боевом ?В тестовом, но надо отдавать в работу.
hvladКроме репликатора у него есть клиенты ?нет.
hvladМожно на нём поднять рядом 2.5 и накатывать репликацию и на 2.5 тоже ?в итоге 2.5 и подниму, только не рядом а вместо и отдам в работу.

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

Тестовый стенд подумаю как соорудить, в принципе пара не сильно новых но вполне живых и сильно похожих двухпроцовых железяк под руками будет.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657371
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНасколько я помню, при этом полностью отпадёт возможность использовать аутентификацию srp.Сейчас все легаси, так что не проблема.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657375
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

к счастью нет. Кстати аутентификация srp тоже дороже Legacy, но не думаю что это играет хоть какую-нибудь роль в данном случае.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657377
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyВ тестовом, но надо отдавать в работу.

Тогда обновись до снапшота. После 3.0.3 много чего фиксилось.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657378
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladРаз чтение не тормозит, возникает ещё вопрос о настройках файловой системы - журнал, барьер и прочее (тебе виднее).Беру сервак с центосом 6.7, работал на ура в качестве центрового, ставлю как филиальный - все работает. Сношу 2.5.7, накатываю 3.0.3, отгребаю тормоза, ОСь-железо при этом не меняется. Далее пробую рыпаться по списку в первом посте.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657392
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky4. игрался с кэшем страничек от 2000 до 2000000 - эффекта нет.
а за FileSystemCacheThreshold следил чтобы не был меньше размера страничного кеша?
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657440
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovIvan_PisarevskyВ тестовом, но надо отдавать в работу.

Тогда обновись до снапшота. После 3.0.3 много чего фиксилось.У меня на десктопе стоит снапшот, только Ось не центос, а SUSE. Отставание на том же самом репликаторе прослеживалось, только я полагал, что железка слабовата. Надеялся, что нормальная железка будет работать не хуже двойки...

Похоже надо сооружать тестовый стенд и ловить.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657441
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениса за FileSystemCacheThreshold следил чтобы не был меньше размера страничного кеша?поставил 10000000
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657555
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисIvan_Pisarevsky,

шифрование трафика включено по умолчанию. Я предлагаю попробовать его отключить. Но как я уже сказал это даст не более 5-10% прироста
WireCrypt = Disabled

systemctl restart firebird-superserver

те же яйца, только в профиль, поглядел еще пару-тройку циклов обмена, ничего не изменилось.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39657978
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисГаджимурадов Рустам,

да он потролить зашёл
это легкий подкол именно ИП. Кстати, проверил бы и на винде, мало ли какие системные оптимизации при деле (хотя он не сможет ^2)

реально я просто тему пометил - посмотреть - ведь с начала выхода 3ки были заметны легкие подтормаживания (но не такие глобальные, все же)
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39658113
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Накатил на испытуемого 2.5.8, классик, никаких системных настроек не крутил, отдал в работу, стоит на номере первом в списке, картинка нормализовалась
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39658131
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemarglэто легкий подкол именно ИПДа без проблем.
Siemarglведь с начала выхода 3ки были заметны легкие подтормаживанияБлиже к делу! Явки? Пароли? Подземный стук не интересен, а вот конкретные примеры весьма. Пустой троллинг про вирусы на свеженьком центосе во внутренней сети без выхода наружу я буду и дальше без сожалений удалять.

В сухом остатке: до сего дня нагрузочного тестирования записи на трешке я не проводил, проведу и сравню, после отпуска :) . На куче чтений и немного записи все было хорошо (например агрегирование продаж, много читали и писали только выжимки в агрегат). Просто интерактивная работа с поиском товаров по базе, получение отчетов все пристойно. Честно говоря подвоха от репликатора не ждал, его код несколько раз пересмотрел, подвоха не увидел, там всего несколько килобайт на си.

Ушел осмыслять, советы пожелания принимаются.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39658141
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemarglреально я просто тему пометил - посмотреть - ведь с начала выхода 3ки были заметны легкие подтормаживания (но не такие глобальные, все же)

там отставание было не больше 10% в моноконнекте, к тому же после этого многое правилось. Например в 3.0.2 для выборок по NATURAL производительность практически сравнялась с 2.5.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39680558
MikeDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyhvladIvan_Pisarevsky,

триггеры есть ?В изобилии, но для юзера REPLICATOR в подавляющем большинстве таблиц сделаны обходы, чтобы триггер ничего не делал.

типичная картинка примерно такая:
Код: sql
1.
2.
3.
4.
5.
begin
  IF (CURRENT_USER <> 'REPLICATOR') THEN BEGIN
   --тут действия триггера
  END
end



Все базы идентичны по метаданным.

Попробуй закомментить все то что делается внутри условия и сравни скорость выполнения.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39680863
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeDD,

Зачем?
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39680940
MikeDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery, затем что там могут быть грабли. Чем больше логики внутри условия - тем больше времени будет уходить на препарирование запроса. А у него там все запросы без параметров.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39680949
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeDD,

с чего ты взял? Перечитал топик нигде нет намёка, о том что параметры не используются.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39680953
MikeDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисMikeDD,

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

Он тебе же отвечал:
Ivan_PisarevskyСимонов ДенисIvan_Pisarevsky,

а как работает репликатор у него постоянный коннект или коннект отправили пачку дисконнект?коннект-старт пишущей транзакции-цикл ( вычитать строку из текстовика (не более 2к символов) отпрепарировать запрос без параметров -применить запрос)-коммит-дисконнект.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39680960
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeDD,

упс. Значит не внимательно читал. Впрочем всё то же самое делалось под 2.5.
Тогда действительно проверить не помешает. В трёшке система прав более навороченная да и память при разборе SQL больше кушалась. Кстати в трёшку вот это пока не портировалось http://tracker.firebirdsql.org/browse/CORE-5611
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39680964
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, все запросы без параметров, прилетает полностью готовый запрос. Никакой разлапистой логики в самих запросах нет, обработка одной записи по первичному ключу.
По идее поймать время препарирований запросов можно, это не сложно, исходник под рукой. Как вариант, конечно, да, вот только тормозов на чтение я решительно не видел, а запросов там не меньше.
Как триггеры на это повлияют?

Пока жду вместительную ССД-ху, а то не получается впихнуть две базы на нее, чтобы условия одинаковые создать на тестовом стенде.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39680968
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

трассировкой их лови. Может там виднее будет что именно тормозит. Препарирование запросов вполне может быть медленее чем в 2.5, всё таки SQL в трёшке более навороченный.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39680982
MikeDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky, вобщем пробуй закомментить логику триггеров и сравнивай время выполнения. Если получишь разницу в разы (у меня лет 10 назад именно так и получалось, ну люблю я триггеры) то есть смысл переработать логику репликатора. В любом случае оптимальнее будет передавать не скрипты в тексте а сами данные и генерить модифицирующие запросы с параметрами при втяжке реплики. В этом случае получишь возможность повторного использования уже отпрепарированных запросов, к примеру в моем случае количество таких запросов из "кэша" более 90%.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39680985
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeDD,

это не всегда можно сделать. Ну с INSERT/DELETE то понятно. А вот формировать UPDATE в котором всегда передавать все поля даже не модифицированные как-то не хочется. Впрочем пока всё это догадки, не факт что дело в препарировании.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39680992
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeDDВ любом случае оптимальнее будет передавать не скрипты в тексте а сами данные и генерить модифицирующие запросы с параметрами при втяжке реплики.Это означает взять и под корешок переписать свой репликатор, разумным это не видится, проще "пересидеть трешку в окопах" и попробовать репликатор от четверки. :)
Симонов Денистрассировкой их лови. Может там виднее будет что именно тормозит.Разверну тестовую железку, приду за советами.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681002
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevskyпроще "пересидеть трешку в окопах" и попробовать репликатор от четверки. :)

Ты в курсе, что из коробки там будет только мастер-слейв с рид-онли слейвом? Если,
конечно, вообще будет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681022
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeDDWildSery, затем что там могут быть грабли. Чем больше логики внутри условия - тем больше времени будет уходить на препарирование запроса. А у него там все запросы без параметров.Впервые слышу, что логика внутри триггеров таблиц влияет на препарирование запросов вставки/редактирования этих таблиц.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681030
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery,

ну триггеры, то в кеше метаданных сидеть будут. Они то препарируются ровно один раз на время коннекта. А вот сам запрос INSERT/UPDATE/DELETE много раз.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681033
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

И что? Утверждается, что на время препарирования повлияет комментирование тела триггеров.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681039
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЕсли, конечно, вообще будет.


Откуда такой пессимизм? Вон один большой коммит (Read consistency) в вероятности которого ты тоже сомневался, пару дней назад прошёл.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681040
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery,

повлияет, но поскольку оно будет один раз, то это влияние будет почти нулевое
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681044
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Так я и думал.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681051
MikeDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисповлияет, но поскольку оно будет один раз, то это влияние будет почти нулевое
Не один раз, а при каждом препарировании запроса. Мне именно здесь кто-то из разработчиков указал на этот нюанс, сейчас этой темы почему-то не могу найти. И в результате повторного использования уже препарированных запросов я получил выигрыш в разы.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681052
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Влиять будет не препарирование триггера, а проверка прав - на каждом выполнении запроса.
И для всего дерева вложенных вызовов.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681057
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисОткуда такой пессимизм? Вон один большой коммит (Read consistency) в вероятности которого
ты тоже сомневался, пару дней назад прошёл.

Этот бранч валялся на гите не меньше года. А Дима в отличии от Влада бранч с репликацией
даже не создал.

WildSeryУтверждается, что на время препарирования повлияет комментирование тела триггеров.

Комментирование тела повлияет на количество объектов, затрагиваемых этим триггером, а это
в свою очередь повлияет на количество проверок прав на всё дерево затрагиваемых объектов.
Данные проверки производятся на каждое препарирование запроса и там есть очень много места
на оптимизацию.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681058
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeDD,

это ты получил на препарировании самих запросов. Триггеры, как и хранимые процедуры препарируются при первой загрузке в кеш метаданных.

MikeDDМне именно здесь кто-то из разработчиков указал на этот нюанс, сейчас этой темы почему-то не могу найти.

хотелось бы глянуть на эту тему. А то мало ли я думаю неправильно
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681062
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

а ты не думал, что это потому что он приватный.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681065
MikeDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad, вот-вот, мне тогда кто-то именно это и написал. В итоге я пришел к повторному использованию одинаковых запросов при втяжке реплики и тормоза ушли.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681082
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениса ты не думал, что это потому что он приватный.

Нет, не думал.
Во-первых, потому что это не имеет смысла, поскольку он планировался к влитию в публичную
ветку ещё пару лет назад.
Во-вторых, я в курсе HQBird и RB: просто взять и применить их к четвёрке не получится
(точнее я очень надеюсь, что на такое Дима не пойдёт, ибо это будет самое большое
разочарование последней пятилетки).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681158
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВлиять будет не препарирование триггера, а проверка прав - на каждом выполнении запроса.
И для всего дерева вложенных вызовов.При переходе с 2.5 на 3.0 там что-то кардинально менялось? В двойке все те же самые депенденсы и все те же права.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681161
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

насчёт кардинально - не скажу, но изменения точно были.

Чем гадать - сними трейс и посмотри на время и детальную статистику препарирования и выполнения.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681296
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что проверка прав действительно накладная вещь, оно так, и что выполняется она для всех затронутых в триггере объектов на препаре, сиречь независимо от всяких если-то-иначе, тоже понятное дело, но у меня не укладывается в голове какое там может быть разлапистое дерево в репликационном триггере. Уж даже в моей довольно хитровыеженной базе таблиц, задевающих по обычным триггерам, всвязи с системной логикой, достаточное количество объектов для заметного замедления по сравнению с "простыми" таблицами, было десятка два на две с половиной тыщи. Сдаёццо мне, всвязи с замечанием об утяжелении работы с правами в трёхе, что истина где-то рядом, но не в репликаторе.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681315
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

не знаю как там скорость проверки прав в 3.0 по сравнению с 2.5 (не мерил), тут Таблоид нужен. Но совершенно точно в 3.0 намного больше типов объектов для которых проверяются права: генераторы, исключения, функции (в том числе и UDF).

По идее в 4.0 проверка прав должна быть проще за счёт возможности указать SECURITY DEFINER
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681320
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаистина где-то рядомЕсс-но :)
Но никаких данных, кроме факта тормозов, у нас нет.

Посему предлагаю всем не тыкать пальцем в куда попало, вспоминая весь тысячелетний опыт борьбы за всё хорошее, а дождаться большего кол-ва инф-ции от Ивана
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681510
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНо никаких данных, кроме факта тормозов, у нас нет.Все так, сошлись на том, что я делаю тестовый стенд с одинаковой ОСью, одинаковыми остальными ресурсами (проц-память-диск) и далее мучаем эту механизму всякими трейсами и прочими замерами. Железку жду, под это дело решили планово заменить мой десктоп, чтоб он потянул всю эту тестовую конструкцию (надо впихнуть три базы по 100 гиг каждая 1 источник и 2 приемника, на САТА это все жуть медленно и печально). Сейчас сезон отпусков, то я был в отпуске, то админ, который должон усе купить.

Как буду готов доложу.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681554
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevskyя делаю тестовый стенд с одинаковой ОСью
винду потом туда поставить и проверить то же самое не забудь.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681569
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvIvan_Pisarevskyя делаю тестовый стенд с одинаковой ОСью
винду потом туда поставить и проверить то же самое не забудь.Не знаю... исходники репликатора сишные, компилятся обычным gcc, наверно и под винды должны собираться, не пробовал ни разу.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39681803
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

будет обидно (и тебе и остальным) если ты не узнаешь, что на винде быстрее, медленнее, или одинаково. Особенно когда есть возможность сравнить именно операционки. Вернее, операционки + драйверы на одном и том же железе.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39743135
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Позвольте вернуться к моим баранам. Взял я давеча ночной бэкап gbk одного из филиалов, получен штатным gbak на двойке, разресторил на двушке, разресторил на трешке (из изменений только накатил скрипт дающий права на эксепшены и генераторы, метаданные по сути идентичные), получил базульку примерно на 67 гиг.
Подождал примерно полдня и велел репликатору сгенерить дифф скрипт, получил скрптец на 422 тыс строк, пооткусывал от него ненужные isql префиксы, добавил ";" на концах строк, получился синтаксически корректный скрипт, скормил оный сначала трешке(3.0.4 ss):

test_repl started 2018-12-04 22:12:49
test_repl finished 2018-12-04 23:27:31

Потом снес трешку и накатил 2.5 классик

test_repl started 2018-12-05 19:03:45
test_repl finished 2018-12-05 19:15:50

Как можно заметить разница довольно значительная(почти на порядок!), никаких доп коннектов на время теста нет, базы свежеотресторенные из одного источника, железка ровно та же самая (мой десктоп 32Гб память, 4 ядерный проц на 3,6Гц, диск ССД на САТА порту, ФС ext4, OS Linux OpenSuse 42.3, все в железе, без виртуалок), никаких левых программ не использовалось, только из штатной поставки ФБ.

Исходный бэкап, пара баз и сам скрипт имеются.

Как же так???
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39743143
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По сравнению с 21616331 никаких новых данных я не вижу
Ivan_Pisarevskyдалее мучаем эту механизму всякими трейсами и прочими замерамэтого я тоже не вижу.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39743148
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я еще не успел, если будут методуказания буду признателен. Дока про трейс в процессе изучения-освежения памяти.
hvladэтого я тоже не вижу.Не серчайте шибко, барин, все применим. :)
из обещанного: все собрано на одной железке, железка под рукой, базы на нее в требуемом кол-ве помещаются, софт можно ставить требуемых версий. Первоначальный тест только на штатном софте сделал, чтобы отмести подозрения от своего софта.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39743149
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы начал с включения в скрипт
set stat on;
set plan on;
set echo on;
сохранения результатов в файл и сравнения оных результатов.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39743193
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

я так понимаю, скрипт этот выполняется в одном коннекте. Это раз.
Там идут инсерты и апдейты. Что касается инсертов - рестор этой базы тоже в 5-6 раз медленнее, чем на 2.5? если нет, то всё это фантастика. Это два.

Где трейс? Это три. Запускаем трейс, запускаем скрипт, сохраняем. На 3.0 и 2.5. сравниваем.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768618
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже мой случай уже в трекере:
http://tracker.firebirdsql.org/browse/CORE-5966

вчера перетряхнул свои 4 тыс. триггеров, поменял в них юзера REPLICATOR на SYSDBA, и прогнал скрипт от имени SYSDBA, результат порадовал:

test_repl started 2019-02-01 22:50:24
test_repl finished 2019-02-01 23:00:02

чуть меньше 10 минут, даже лучше чем на двойке.

Роман Симаков, если требуется прогнать какие тесты, параметры трейса, потестить снапшот с патчем, отпишись, постараюсь задвинуть вопли юзеров с их срочными делами подальше и погонять, а то уже их НДС с печатными формами в печенках сидят. :) Не дают сделать что-то стОящее.

kdvрестор этой базы тоже в 5-6 раз медленнее, чем на 2.5? если нетСкорость рестора сопоставимая, в пределах погрешности измерения. порядка одного часа.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768644
sysdba22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос разработчикам, в треккере стоит фикс этой проблемы для версии 3.0.5, это действительно так? или раньше 4 не ждать?

спрашиваю так как большой кусок логики хотим скинуть на тииггеры и боимся попасть в засаду.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768645
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevskyвчера перетряхнул свои 4 тыс. триггеров , поменял в них юзера REPLICATOR на SYSDBA

Я мимо проходил ... Но очень впечатлило...

Даже полез посмотреть - а как это было сделано у нас в 2003 году?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE PROCEDURE SP_RPL_IS_RESTORE_MODE
 RETURNS(IS_RESTORE_MODE SMALLINT)
AS
BEGIN
 IF(UPPER(CURRENT_USER)=_T("REPLICATOR"))THEN
 BEGIN
  IS_RESTORE_MODE=1;
  SUSPEND;
 END
END!!

////////////////////////////////////////////////////////////////////////////////

#define RPL_IS_RESTORE_MODE() (EXISTS(SELECT * FROM SP_RPL_IS_RESTORE_MODE))

#define RPL_IS_USER_CHANGE()  (NOT RPL_IS_RESTORE_MODE())



Да не, по человечески - централизованно :)

...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768647
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysdba22,

в 3.0.5 фикс был закоммичен 18 ноября (билд 33081)
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768651
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А битовые маски могли бы быть ещё быстрее. Или нет?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768678
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коваленко ДмитрийНо очень впечатлило...Что именно? выдернул всей кучей триггера в скрипт в эксперте, прошелся автозаменой и накатил обратно. Это-то как раз фигня вопрос. :)

dimitrв 3.0.5 фикс был закоммичен 18 ноября (билд 33081)А почему в трекере не закрыт тикет?

Короче надо проверять версии и прогнать тесты.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768682
Roman Simakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyПохоже мой случай уже в трекере:
http://tracker.firebirdsql.org/browse/CORE-5966

вчера перетряхнул свои 4 тыс. триггеров, поменял в них юзера REPLICATOR на SYSDBA, и прогнал скрипт от имени SYSDBA, результат порадовал:

test_repl started 2019-02-01 22:50:24
test_repl finished 2019-02-01 23:00:02

чуть меньше 10 минут, даже лучше чем на двойке.

Роман Симаков, если требуется прогнать какие тесты, параметры трейса, потестить снапшот с патчем, отпишись, постараюсь задвинуть вопли юзеров с их срочными делами подальше и погонять, а то уже их НДС с печатными формами в печенках сидят. :) Не дают сделать что-то стОящее.

kdvрестор этой базы тоже в 5-6 раз медленнее, чем на 2.5? если нетСкорость рестора сопоставимая, в пределах погрешности измерения. порядка одного часа.

Да. Алекс это пофиксил и в 3.0.5 должно быть. Можно потестировать снапшот.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768683
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня оказался сильно устаревший 33066 билд
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768684
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не будет ли с моей стороны большой наглостью попросить вашего коллегу обновить пакет для SUSE?
https://build.opensuse.org/user/show/mkubecek
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768685
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyА почему в трекере не закрыт тикет?Потому что в 4-ке нужно кое-что ещё сделать.
Там же Алекс комментировал.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768688
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman SimakovМожно потестировать снапшот.Ок, в снапшотах 33100. На днях погоняю. О результатах доложу.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768764
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyНе будет ли с моей стороны большой наглостью попросить вашего коллегу обновить пакет для SUSE?
только после официального выхода 3.0.5
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39768961
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сдул с firebirdsql.org снапшот
Firebird-3.0.5.33100-0.amd64.tar.gz

результат под обычным юзером(железка ровно та же самая):
test_repl started 2019-02-03 14:02:17
test_repl finished 2019-02-03 14:14:58

отставание от sysdba минимальное, отставания от ФБ2.5 нет.

Огромное спасибо всем причастным к решению проблемы. :)

На следующей неделе накачу свеженький снапшот на один из вспомогательных серверов, поглядим на все это дело под рабочей нагрузкой.
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39770147
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставил свой комп вместо одного из серверов, приютил на нем 2 средней величины магазина, кол-во коннектов небольшое, всего штук 30. Работает весело, репликатор не тормозит, юзеры не тормозят.
Пока все красиво.
Ставьте версию посвежее и будет счастье. :)
...
Рейтинг: 0 / 0
Производительность на запись FB 3.0.3
    #39770155
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

таки предположение о проверки прав оказалось верным, по крайней мере отчасти
...
Рейтинг: 0 / 0
80 сообщений из 80, показаны все 4 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Производительность на запись FB 3.0.3
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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