Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите улучшить производительность / 25 сообщений из 25, страница 1 из 1
22.05.2015, 11:04
    #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
22.05.2015, 11:17
    #38966098
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите улучшить производительность
irnialexСчитываются данные транзакцией read commited, read only
Её следует коммитить как только они считались. А то транзакция, пережившая почти 100 тысяч
своих сородичей это ужас вообще.

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

раз Interbase 2009 значит супер сервер, а следовательно можно повышать размер кеша. Для начала раз в 10.
Что есть map size? Если имелось ввиду page size, то его тоже можно повысить до 8192
...
Рейтинг: 0 / 0
22.05.2015, 11:21
    #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
22.05.2015, 11:31
    #38966127
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите улучшить производительность
Мимопроходящийу него RC+RO
У него не Firebird.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.05.2015, 11:36
    #38966134
irnialex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите улучшить производительность
Dimitry SibiryakovМимопроходящийу него RC+RO
У него не Firebird.

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

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

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

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

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

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


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

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

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

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

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

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

отследить, какие запросы виснут, слишком сложно, их слишком много
доработок в программе уже не делали несколько месяцев и раньше работало всё отлично... а сейчас стало хуже
...
Рейтинг: 0 / 0
22.05.2015, 11:58
    #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
22.05.2015, 11:58
    #38966179
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите улучшить производительность
irnialexRead committed, read only Такая транзакция может работать вечно без
отрицательного воздействия на производительность.
Ага, а разрыв в счётчиках тебе ветром надуло, да...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.05.2015, 12:00
    #38966184
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите улучшить производительность
irnialex,

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

Я не знаю как называется параметр отвечающий за буфер сортировки в IB.
В FB - TempCacheLimit. Что тип SortMemSize который по умолчанию всего 64М
...
Рейтинг: 0 / 0
22.05.2015, 12:15
    #38966206
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите улучшить производительность
Симонов Денисскорее всего срабатывает автосвип.
Да ну?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.05.2015, 12:28
    #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
22.05.2015, 13:02
    #38966250
irnialex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите улучшить производительность
Так что делать?

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

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

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

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

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

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

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

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

про размер кеша и память под сортировку тебе сказали
...
Рейтинг: 0 / 0
22.05.2015, 18:47
    #38966752
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите улучшить производительность
Мимопроходящийу FB таки да.
а вот как там с этим у древнего IB?
ты охренел, мягко говоря. RC RO появился у InterBase 6.0, и оттуда он у ФБ и всех других версий ИБ выше 6. Так что у ИБ 2009 RC RO работает абсолютно так же, как у любой версии ФБ, начиная с 1.0.
...
Рейтинг: 0 / 0
22.05.2015, 18:50
    #38966757
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите улучшить производительность
irnialexOldest active 76835068
Next transaction 76929571
нужно читать документы на ibase.ru, учиться и т.п. У вас там Oldest Active застряла на 94 тысячи транзакций, так что надежды на RC RO не оправдываются (эти транзакции не в счет). Смотреть нужно IBTM, IBAnalyst, и так далее.
...
Рейтинг: 0 / 0
22.05.2015, 18:52
    #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
22.05.2015, 23:15
    #38966864
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите улучшить производительность
Мимопроходящийне надо пыли.
в FB правили сборку мусора как раз для данного случая.
в этом плане в ФБ НИЧЕГО не правили. баг с недосборкой мусора в SS - это из другой оперы, и да, правили в 2.1. Но RC RO тут вообще никаким боком.
...
Рейтинг: 0 / 0
22.05.2015, 23:17
    #38966865
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите улучшить производительность
Мимопроходящий,

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


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