powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите улучшить производительность
25 сообщений из 25, страница 1 из 1
Помогите улучшить производительность
    #38966077
irnialex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Наблюдаются проблемы с производительностью, подвисает приложение у юзеров.

Используем Interbase 2009. Размер БД - около 3 ГБ.
Число коннектов до 50 днём. Ночью около 10.
map size - 4096
db cache - 2048

Сервер старенький XEON 2 проц 8 ядер
ОЗУ - 4 ГБ.
32 разр
диски старенькие

В диспетчере задач ibserver.exe - ЦП загружает на 50-80%, Использование памяти - около 100 МБ

OnDiskStructure 13.1
Oldest transaction 76824204
Oldest snapshot 76835068
Oldest active 76835068
Next transaction 76929571

Считываются данные транзакцией read commited, read only
Запись read-write


Буду благодарен за консультации и помощь.
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966098
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irnialexСчитываются данные транзакцией read commited, read only
Её следует коммитить как только они считались. А то транзакция, пережившая почти 100 тысяч
своих сородичей это ужас вообще.

Да и 2048 буферов под кэш - скорее всего издевательство над дисками. Но это уже надо
смотреть статистику выполнения конкретных запросов, считать hit ratio.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966104
sim_84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
irnialex,

раз Interbase 2009 значит супер сервер, а следовательно можно повышать размер кеша. Для начала раз в 10.
Что есть map size? Если имелось ввиду page size, то его тоже можно повысить до 8192
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966109
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dimitry Sibiryakov!
You wrote on 22 мая 2015 г. 11:21:14:

Dimitry Sibiryakov> Её следует коммитить как только они считались. А то транзакция,
> пережившая почти 100 тысяч своих сородичей это ужас вообще.
у него RC+RO
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966127
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийу него RC+RO
У него не Firebird.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966134
irnialex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovМимопроходящийу него RC+RO
У него не Firebird.

Ну да, Interbase, но зачем коммитить RC?
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966142
irnialex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sim_84irnialex,

раз Interbase 2009 значит супер сервер, а следовательно можно повышать размер кеша. Для начала раз в 10.
Что есть map size? Если имелось ввиду page size, то его тоже можно повысить до 8192

Да повысить надо, но как нибудь на выходных вечером, чтобы попросить всех не работает...
На производстве круглосуточно используется.
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966152
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irnialex,

ещё можно увеличить память под буфер сортировки.

Кстати как эти подвисания проявляются? В какой момент? Периодически или постоянно.

Если подвисают только определённые запросы то их надо вытащить и разбираться с ними отдельно. Посмотреть план и статистику.
Из статистики можно будет сделать вывод какие параметры подкрутить.
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966159
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irnialexзачем коммитить RC?
Чтобы двигать счётчики, освобождать ресурсы и позволять мусору собираться.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966163
irnialex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovirnialexзачем коммитить RC?
Чтобы двигать счётчики, освобождать ресурсы и позволять мусору собираться.


Read committed, read only Такая транзакция может работать вечно без отрицательного воздействия на производительность.
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966165
irnialex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисirnialex,

ещё можно увеличить память под буфер сортировки.

Кстати как эти подвисания проявляются? В какой момент? Периодически или постоянно.

Если подвисают только определённые запросы то их надо вытащить и разбираться с ними отдельно. Посмотреть план и статистику.
Из статистики можно будет сделать вывод какие параметры подкрутить.

мм а как увеличить память под буфер сортировки?))

проявляются тем, что у половины пользователей зависает программа
не постоянно, а бывает

отследить, какие запросы виснут, слишком сложно, их слишком много
доработок в программе уже не делали несколько месяцев и раньше работало всё отлично... а сейчас стало хуже
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966176
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Irnialex!
You wrote on 22 мая 2015 г. 11:58:24:

Irnialex> Read committed, read only Такая транзакция может работать вечно без
> отрицательного воздействия на производительность.
у FB таки да.
а вот как там с этим у древнего IB?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966179
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irnialexRead committed, read only Такая транзакция может работать вечно без
отрицательного воздействия на производительность.
Ага, а разрыв в счётчиках тебе ветром надуло, да...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966184
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irnialex,

если зависания происходят периодически, то скорее всего срабатывает автосвип.

Я не знаю как называется параметр отвечающий за буфер сортировки в IB.
В FB - TempCacheLimit. Что тип SortMemSize который по умолчанию всего 64М
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966206
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисскорее всего срабатывает автосвип.
Да ну?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966216
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ну хотя...

kdvИтак, начнем с того, что по умолчанию в созданной базе данных есть параметр Sweep Interval, равный 20000. Как только разница между транзакциями Oldest Snapshot и Oldest (см. gstat -h db.gdb) (в InterBase 7.x и выше - якобы разница между Oldest Active и Oldest) достигнет этого числа, стартует "sweep thread" (на самом деле если посмотреть в tra.c на функцию start_sweeper, то ясно видно что это отдельный коннект (!) который занимается "каким то" sweep. В InterBase 7.x он виден как отдельный коннект с именем "collector" в tmp$attachments).

У меня тут вопрос возник. Предположим что разница счётчиков достигла 20000. Свип запустился, но подвинуть счётчики не смог. Когда он в следующий раз запустится?
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966250
irnialex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так что делать?

У кого-то есть советы?

да, есть такой collector, всё время активный
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966306
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irnialexТак что делать?

У кого-то есть советы?
Если всё сказанное в этом топике ты за советы не считаешь, то остаётся только одно: нанять
DBA.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966332
irnialex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
размер кэша поменял

коммитить RC не вижу смысла, никто не написал доводов, что это необходимо делать.

Сделал принудительно sweep, теперь next tr отличается от oldest на 1-2 всегда. С чем связано было зависание транзакций, не пойму. И почему-то не отработал автосвип.

Page size изменю в скором времени.

Что ещё стоит сделать?

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

про размер кеша и память под сортировку тебе сказали
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966752
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийу FB таки да.
а вот как там с этим у древнего IB?
ты охренел, мягко говоря. RC RO появился у InterBase 6.0, и оттуда он у ФБ и всех других версий ИБ выше 6. Так что у ИБ 2009 RC RO работает абсолютно так же, как у любой версии ФБ, начиная с 1.0.
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966757
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irnialexOldest active 76835068
Next transaction 76929571
нужно читать документы на ibase.ru, учиться и т.п. У вас там Oldest Active застряла на 94 тысячи транзакций, так что надежды на RC RO не оправдываются (эти транзакции не в счет). Смотреть нужно IBTM, IBAnalyst, и так далее.
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966759
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Kdv!
You wrote on 22 мая 2015 г. 18:52:23:

Kdv> Так что у ИБ 2009 RC RO работает абсолютно так же,
> как у любой версии ФБ, начиная с 1.0.не надо пыли.
в FB правили сборку мусора как раз для данного случая.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966864
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийне надо пыли.
в FB правили сборку мусора как раз для данного случая.
в этом плане в ФБ НИЧЕГО не правили. баг с недосборкой мусора в SS - это из другой оперы, и да, правили в 2.1. Но RC RO тут вообще никаким боком.
...
Рейтинг: 0 / 0
Помогите улучшить производительность
    #38966865
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

еще раз - RC RO, не влияющий на "накопление мусора", был введен в InterBase 6.0, еще Анна Харрисон об этом писала, и этот RC RO как был, так и поехал во все последующие версии ФБ и ИБ.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите улучшить производительность
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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