powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Много оперативы. Как ее всю занять FB?
10 сообщений из 10, страница 1 из 1
Много оперативы. Как ее всю занять FB?
    #40009650
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По случаю проапгрейдили сервак до 144 гигов ДДР3 оперативы. Сервер - и для RDP (30 пользователей), и для FB - те же пользователи, каждый по 4-8 коннектов к разным базам. FB 3.0.6 x64 SuperServer, Win Server 2012, 6тиядерный ксеон.
FB больше 6 гигов кушать не хочет, а базы по несколько гигов каждая
В конфиге уже накрутил:
DefaultDbCachePages = 204800
TempBlockSize = 1000M
TempCacheLimit = 64000M

Как ему еще указать использовать хотяб 100 гигов, ну ессно, с увеличением скорости работы ))
...
Рейтинг: 0 / 0
Много оперативы. Как ее всю занять FB?
    #40009656
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GrigoriyFomin,

YouTube Video
...
Рейтинг: 0 / 0
Много оперативы. Как ее всю занять FB?
    #40009681
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin
FB больше 6 гигов кушать не хочет, а базы по несколько гигов каждая
В конфиге уже накрутил:
DefaultDbCachePages = 204800
TempBlockSize = 1000M
TempCacheLimit = 64000M
... но перекрутил.
0. Для всех СУБД нужен "запас памяти для операционки";
1. Для СУБД Firebird обычно нужен файловый кэш;
2. Стандартное наказание: "Я буду читать комментарии к параметрам из актуального firebird.conf".

Теперь идём по пунктам.

TempBlockSize - минимальный размер блока, выделяемого для временных объектов (сортировки, материализация GTT и всё такое). Выделять целый гиг по каждому чиху - так себе решение.

Далее.
Память нужна для: страничного кэша, буфера сортировок (и других временных объектов), для клиентских подключений и для файлового кэша.
Только разработчик приложения может управлять объёмом памяти, который требуется клиентскому подключению.
АБД оставляет резерв для клиентских подключений и "нужд операционки", а потом (как то) делит остальное между (общим в суперсервере) TCL и страничными кэшами каждой базы.

"Базы по нескольку гигов" означает, что под страничные кэши FB сможет "сожрать" не более суммарного размера баз плюс TCL, из которого будет занято ровно столько, сколько требуется приложениям. Ещё сколько-то будет занято клиентскими подключениями. Всё.
Следовательно, идея "мы посеем 200 Га буракив - нехай вин задавится" - остаётся такой же утопической, как в анекдоте.

Если следовать стандартному наказанию, то есть два параметра, которые (под виндой) надо явно выставить в -1.

Выставить DDCP в 200K (3,2ГБ для 16К страниц) ... У вас действительно настолько мелкие базы?

P.S.
Если не ошибаюсь, то hvlad говорил, что на быстрых (SSD) дисках можно получить некоторый выигрыш в скорости при отключении файлового кэша и после заполнения страничного.
...
Рейтинг: 0 / 0
Много оперативы. Как ее всю занять FB?
    #40009772
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin
с увеличением скорости работы
Пример медленно работающего запроса будет? или лечим подземный стук в подвале? а то ведь "поциэнта" можно так залечить до коматозного состояния...
...
Рейтинг: 0 / 0
Много оперативы. Как ее всю занять FB?
    #40009782
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin,

про

Код: plaintext
TempBlockSize = 1000M

уже сказали. Это значение полный бред. Надо внимательно читать комментарии к параметру.

Для

Код: plaintext
TempCacheLimit = 64000M

вы в курсе что эта память не резервируется сразу системой как для страничного кеша. Это просто предел, когда для сортировок сортировки (и не только они) начинают использовать временные файлы. Поэтому ожидать что Firebird сразу отожрёт 64Гб наивно, но резерв памяти в ОС под сортировки стоит оставлять.

Грубо говоря, за исключением страничного кеша вся память в Firebird выделяется динамически, и если она не требуется, то выделена не будет.

И ещё, не стоит пытаться запихнуть всю БД в страничный кеш, если оно не требуется. Вообще сколько требуется буферов для БД определяется экспериментально исходя из cache hit ratio = <page reads>/<page fetch>. Как говорил hvlad, для Firebird нормально когда оно < 0.005. Хотя для мизерных БД её всегда можно засунуть в кеш целиком.

Не стоит забывать про файловый кеш. В вашем случае если вы не трогали FileSystemCacheThreshold, то он не используется.
...
Рейтинг: 0 / 0
Много оперативы. Как ее всю занять FB?
    #40009831
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисВ вашем случае если вы не трогали FileSystemCacheThreshold, то он не используется
в том смысле, что когда GrigoriyFomin задул
DefaultDbCachePages = 204800
то оно стало БОЛЬШЕ дефолтного
#FileSystemCacheThreshold = 64K
а значит Firebird отрубил файловый кэш для баз, и ... наверняка стало тормознее, чем было :-)
Если, конечно, база не влезла в 204800 страниц, что при 16к всего 3.2 гига.
...
Рейтинг: 0 / 0
Много оперативы. Как ее всю занять FB?
    #40012911
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

вообщем, доигрался я с настройками ФБ до того, что полезли ошибки типа
unable to allocate memory from operating system IProvider::attachDatabase failed when loading mapping cache .
Сбросил все до дефолта.
Понимаю, что это результат бездумного увеличения параметров в конфиге ФБ, но все же спрошу у гуру - есть куча оперативы (112 ГБ) на сервере, базы по 1 гигу, штук 10 их и пользователей 30. Суперсервер 3.0.6. Какие дефолтные параметры в конфиге поменять, чтоб максимально полезно использовать оперативу?
...
Рейтинг: 0 / 0
Много оперативы. Как ее всю занять FB?
    #40012912
GrigoriyFomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
просто в МS SQL можно указать просто размер рамы, которую он может использовать - и все. А тут хитрая математика какая-то.
...
Рейтинг: 0 / 0
Много оперативы. Как ее всю занять FB?
    #40012915
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFomin,

ну вот не надо. В винде есть свои правила по выделению памяти. Если мс скл запросит больше, их же мс скл или винда урежет его как надо. А ФБ не произведение микрософта. но это не значит, что при памяти 128 гиг надо ФБ выделять те же 128 гиг. Херня получится.
Что вас удерживает от просмотра видео Ковязина и прочтения наших документов по тюнингу ФБ? Просто лишь бы от балды поставить какие-то значения в конфиге?
...
Рейтинг: 0 / 0
Много оперативы. Как ее всю занять FB?
    #40012916
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrigoriyFominКакие дефолтные параметры в конфиге поменять, чтоб максимально полезно использовать оперативу?
у нас и видео есть. и статьи есть по этому поводу. изучайте на здоровье.
Не получается? Ну тогда велкам на курсы по администрированию.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Много оперативы. Как ее всю занять FB?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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