powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / научите, плз, читать статистику выполнения запроса
23 сообщений из 23, страница 1 из 1
научите, плз, читать статистику выполнения запроса
    #39878682
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
научите читать статистику выполнения запроса или подскажите, где про это можно подробно почитать. Сделал простой апдейт одного поля справочника товаров:
Код: sql
1.
update goods set modart=trim(modart)


В итоге он выполнялся 11 часов. Я так понимаю, проанализировав статистику выполнения можно поправить конфиги сервера и получить более приятный результат.
Комп - win10 x32, FB 3.0.4, суперсервер, конфиги по умолчанию как при установке. Размер базы - 180МБ.
Судя по прочитанному на форуме, значение кэша тут как минимум заниженное.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Plan
PLAN (GOODS NATURAL)

27807 record(s) was(were) updated in GOODS

27807 record(s) was(were) inserted into LOG2IM

------ Performance info ------
Prepare time = 16ms
Execute time = 11h 55m 20s 953ms
Current memory = 87 937 920
Max memory = 166 798 352
Memory buffers = 2 048
Reads from disk to cache = 326 774
Writes from cache to disk = 11 606
Fetches from cache = 0
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878688
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как апдейт 30 тыщ записей (даже с логами) может
выполняться 11 часов? Даже на дефолтном конфиге.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878689
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFominСделал простой апдейт одного поля справочника товаров:
Код: sql
1.
update goods set modart=trim(modart)

У запроса "обновить все записи" может быть только один план:
Код: plaintext
PLAN (GOODS NATURAL)
Я так понимаю, проанализировав статистику выполнения можно поправить конфиги сервераДля правки firebird.conf/databases.conf не нужна статистика - надо внимательно прочитать комментарии из firebird.conf.Комп - win10 x32, FB 3.0.4, суперсервер, конфиги по умолчанию как при установке. Размер базы - 180МБ.Для базы в 180МБ даже 2ГБ 32-разрядной системы - за глаза.
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878690
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin,

тут фетчей было так много что они походу переполнили разрядность integer. В эксперте такой глюк бывает

Код: plaintext
Memory buffers = 2 048

Для FB 3.0.4 SS это не серьёзно. Увеличивай до 32K тогда ваша мелкая БД целиком в кеш влезет.

Чтоб 27807 записей обновлялись и вставлялись 11 часов это надо сильно постараться. Что за железяка такая?

И да судя по всему запрос у вас для служебных целей запущен. Так надо было триггер то отключить, чтобы быстрее отработало.
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878691
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лажа какая-то. Потом будут легенды плодиться, какой фб тормоз. Короче - не верю.

База на каком-нидь облаке через диалап модем.

Больше ничего на ум не приходит, как можно ТАК тупить.
Трехдюймовые дискеты пришлось отбросить, база на них не поместится.
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878694
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с разрядностью обманул - Win 2016 Server x64, 8 гигов оперативы, 4-х ядреный intel 2.1GHz, винт - redhat virtio scsi Disc Device, база и ядро БД - локальная.
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878696
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

или у него какой-то мегахитрый триггер. Заметь у него с диска было 326 774 чтений, значит там точно не одна таблица goods читается.
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878697
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисIvan_Pisarevsky,

или у него какой-то мегахитрый триггер. Заметь у него с диска было 326 774 чтений, значит там точно не одна таблица goods читается.

не, триггер там не сильно сложный, хотя.... Вот уже пнули в нужном направлении, на что указывает это количество чтений? Точнее, как его интерпретировать? Это количество считанных из БД записей?
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878703
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin,

нет. Это количество прочитанных с диска страниц. Предположим размер страницы 8K, тогда

326774 × 8192 = 2676932608 = 2.5 Гб. Ваша база прочитана целиком многократно
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878727
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис, а параметры, связанные с кэшем могут повлиять на это количество считываний?
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878731
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin,

возможно. Но эксперимент надо повести на чём то более быстром. Например

Код: sql
1.
select count(*) from goods 



какого типа поле modart?
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878733
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

varchar(40), кодировка UTF-8. Кстати, оказалось, что заказчик расположил базу на виртуальном серваке, где выставил минимальные иопсы (не сильно понимаю, что это на пальцах).
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878867
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFominзаказчик расположил базу на виртуальном серваке, где выставил минимальные иопсыМой довод про облако оказался недалек от истины. :)
GrigoriyFominне сильно понимаю, что этоЭто означает вас настолько ограничили в операциях ввода-вывода с диском, что оно так эпично тормозит.

1. настройками фб это не решить.
2. смотреть что там в метаданных, сдается мне там та еще перловка.
3. ИОпсов надо много, я бы сказал, что это первейший ресурс, чем больше, тем лучше.
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878868
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у заказчика инфраструктура на линуксе, на кой туда запихнули винду? Шоб слоники бегали?
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878871
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кстати, пытался для увеличения производительности разместить базу на рамдрайве, но практически ничего это не дало. То есть кэша ФБ хватает?
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878876
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты пытаешься измерить давление у больного с оторванной рукой.
Есть некая проблема в базе или оборудовании, которую надо выявить и по возможности решить.
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878879
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
982183,

в моем случае (не только в вышеупомянутом), проще докупить тормозящий компонент или покрутить что-то в конфиге, чем рефакторить весь код, которому больше 5 лет и он уже отлажен совместно с бухгалтерами. Сейчас никто не будет спокойно говорить, что по бух.части произошла ошибка и ее нужно поправить - тупо сделают как даст программа, а потом при ревизии начнут искать крайнего и крайний будет явно не бух (их к тому времени может смениться не один).
Пусть это экстенсивный путь развития, но проще докупить памяти и развернуть рамдрайв или проагрейдить ксеон на более мощный, только это эффекта не дает (( Вот и хоцца понять - чем можно помочь файрберду железом или конфигом, не трогая боевую базу?
Поэтому и полез разбирать статистику запроса, чтоб понять, чего поменять по неSQL части, чтоб был заметен прирост производительности.
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878931
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFominпытался для увеличения производительности разместить базу на рамдрайве, но практически ничего это не дало.Просто вы неправильно кошек готовите.
На винде в \ProgramData\firebird, на линуксе - /tmp/firebird находятся лок-файлы и нельзя серьёзно увеличить производительность, оставив их на "медленном" диске.
И, опять-таки, если вы уже готовы рискнуть (не рекомендую), то можно просто отключить force write gfix-ом - кое-какой прирост производительности у вас будет.

P.S.
Но, таки, "тарифный план с минимальными IOPS-ами" - приговор для (любой) СУБД.
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878960
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

просветите насчет лок-файлов? Я думал все варится внутри FDB файла. Ну еще темповские и firebird.cfg
Насчет иопсов - это один из вариантов тормозов FB. Есть еще одна ситуация - там выделенный под FB полноценный сервак с 16-тиядреным целероном, и проч, но также размещение базы в рамдрайве не дало результата. Как и замена 16-тиядреного целерона на 8миядреный ксеон.
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39878993
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin,

да какая там разница сколько вы ядер выделите, если у вас ваш апдейт тормозит в однопользовательском режиме?
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39879005
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFominне трогая боевую базу?Искать надо под фонарем - там светлее!
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39879056
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin,

посмотри все-же на триггера таблицы GOODS
...
Рейтинг: 0 / 0
научите, плз, читать статистику выполнения запроса
    #39879066
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m,

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


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