powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема загрузки процессоров при использовании FB 3 (SS)
25 сообщений из 75, страница 1 из 3
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808298
ahmed sultanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте господа.
Столкнулся с проблемой, которую не могу решить.

Перевел базу с FB 2.5 (SuperClassic) на FB 3.0.4 (SuperServer).
База: ~35Гб, Кол-во пользователей: ~200, Сервер: 2 х E5-2630, 32 Гб, win server 2012 (64)
FB 3.0.4.33054 (64), конфигурационный файл - по умолчанию, автоматическая сборка мусора отключена, ежедневный (-ночный) backup/restore.

До перевода средняя загрузка процессоров составляла порядка 10-20%
После перевода на FB3 и установки SuperServer загруженность увеличилась до 30-40% с периодическими (раз в несколько часов) выходами на 90-100% загрузку. При которой пользователи вообще работать не могут, приходилось перезапускать FB.

Если переключить с FB 3.0.4 (SuperServer) на FB 3.0.4 (SuperClassic) - все проблемы снимаются. Загрузка те же 10% что были на FB 2.5. Никаких зависаний.

Буду благодарен за совет в какую сторону рыть.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808302
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ahmed sultanovFB 3.0.4.33054 (64), конфигурационный файл - по умолчанию,

в этом случае SS мягко говоря не сильно полезен. Страничный кеш по умолчанию никуда не годится
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808306
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ahmed sultanovв какую сторону рыть.

В сторону рынка труда: нанять сисадмина и DBA.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808310
ahmed sultanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
Это да, мысль хорошая. Но в данной истории все таки интересно почему SuperClassic (c настройками по-умолчанию) работает, SuperServer (опять же по-умолчанию) зовет сисадмина :)
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808312
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ahmed sultanovSuperServer (опять же по-умолчанию) зовет сисадминаСм. первый ответ в топике, если там непонятно, то см второй ответ. :)
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808317
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ahmed sultanov,

вообще-то на базе такого размера оставлять дефолтный конфиг это верх не профессионализма, не зависимо от архитектуры.
Прежде чем бездумно менять архитектуры неплохо бы почитать чем они отличаются.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808333
ahmed sultanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,
Полностью с Вами согласен, Денис. Понятно, что параметры по умолчанию неоптимальны. Просто мне казалось, что значения по-умолчанию могут приводить к снижению эффективности. Но не к полной же неработоспособности. И опять же почему "по-умолчанию" у SS - это 100% загрузка именно процов. А "по-умолчанию" у SC - полностью работоспособная система (возможно не оптимальная). Пока роюсь в документации, но ответа не нашел.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808341
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что происходит в момент 100% загрузки?
трассировка надеюсь включена?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808351
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ahmed sultanov,

чего там рыться то. В SS страничный кеш общий и он должен быть большим.
В CS, SC раздельный, его больше 2048 страниц ставить нельзя.

Конфиг по умолчанию рассчитан на очень маленькие БД. И если в SC, CS маленький кеш особой рояли не играет (опора на файловый кеш), то в SS даже очень влияет.

для супера начни с

Код: plaintext
1.
DefaultDbCachePages = 50K
TempCacheLimit = 2G


ahmed sultanovавтоматическая сборка мусора отключена

что правда, а может не сборка мусора, а свип?

ahmed sultanovежедневный (-ночный) backup/restore.

зачем? Правильно построенным системам это не требуется. В смысле бекап нужен, рестор нет.

ahmed sultanovКол-во пользователей: ~200

при таком количестве пользователей, даже в классике и суперклассике уже требуется дополнительная настройка.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808470
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ahmed sultanov,

небось у приложений с управлением транзакциями все настолько плохо, что принудительная сборка мусора на суперклассике работает, а фоновая на супере - тормозит.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808533
ahmed sultanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,
Честно признаться, приложение на BDE. И с явным управлением транзакциями там ээээ... не очень.
Простите мое невежество, я еще только начинаю разбираться во всем этом: а что у SuperServer-a сборка мусора работает как то по другому чем у SuperClassic-а? Просто у нас sweep interval установлен в 0 и сборка мусора выполняется один раз в день (ночью) - во всяком случае я так это понимал.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808546
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ahmed sultanov,

не путай сборку мусора и свип. В супере помимо кооперативной сборки мусора работает ещё и фоновая.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808694
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисчего там рыться то. В SS страничный кеш общий и он должен быть большим.
В CS, SC раздельный, его больше 2048 страниц ставить нельзя.


Для меня данный вопрос также актуальный. По умолчанию используется файловый кэш ОС, поэтому, если ОЗУ достаточно, ОС может всю БД держать в ОЗУ. В таком случае, почему для SS нужно выделять больше страниц? Получается, обращение к страницам БД, даже если они находятся в кэше ОС - это очень затратная операция?
Если выделить слишком много страниц, то возникнет ситуация, когда одни и те же страницы БД будут находится в ОЗУ дважды (и в кэше ОС и в памяти FB), а другие страницы останутся не загруженными в ОЗУ.
В идеале, конечно, нужно отключать использование кэша ОС и ставить достаточное количество страниц БД. Но как его правильно рассчитать, если размер БД постоянно увеличивается?
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808737
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSerПолучается, обращение к страницам БД, даже если они находятся в кэше ОС - это очень затратная операция?

не очень, а более. Если нужной страницы нет в страничном кеше, но она есть в файловом, она всё равно считается в страничный. То есть страничный кеш будет задействован в любом случае. Это дороже чем просо логическое чтение (фетч).

DmSerВ идеале, конечно, нужно отключать использование кэша ОС и ставить достаточное количество страниц БД. Но как его правильно рассчитать, если размер БД постоянно увеличивается?

Для очень больших БД и не надо чтобы она вся влезала в кеш, достаточно выделить такой размер кеша, чтобы в него помещалась активная часть БД. Как определить сколько это хз. Экспериментировать надо, ну или наобум, простым дележом оперативы на несколько частей, и так чтобы ни кого не обделить.

На примере автора 32 Гб. Отдаём примерно половину памяти под страничный кеш (12 Гб), ещё 2-3 Гига под сортировку. Остальное под файловый кеш, ОСь, кеш метаданных и другую приблуду.

DmSerВ идеале, конечно, нужно отключать использование кэша ОС и ставить достаточное количество страниц БД.

Это можно сделать, но надо учитывать что при этом сильно замедлится работа с БД с холодным кешем, с разогретым разницы не будет. Упреждающее чтение в кеш Firebird пока не реализовано.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808741
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Достаточность кеша обычно проверяют соотношением cache miss\cache hit.
У нас cache miss = read, cache hit = fetch.
Хорошим соотношением для FB является read\fetch < 0.005, но это не высечено в камне.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808769
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSerЕсли выделить слишком много страниц, то возникнет ситуация, когда одни и те же страницы БД будут находится в ОЗУ дважды (и в кэше ОС и в памяти FB)Насколько я понимаю устройство страничных кэшей - вы заблуждаетесь.
Дублирования не будет: одни и те же страницы физической памяти будут отображены и в адресное пространство FB-процесса и в адресное пространство системного кэша.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808797
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

ошибаешься
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808808
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ahmed sultanovЧестно признаться, приложение на BDE. И с явным управлением транзакциями там ээээ... не очень.
В BDE с явным управлением ими вообще не было ни каких, на сколько помню, проблем.
мое невежество
Вот на это, пока что, однако, похоже.))
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808820
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F,

это смотря с какой стороны посмотреть. Транзакция возможна только одна, подтвердил её и все датасеты позакрывались, а COMMIT RETAIN это уже не совсем нормальное управление транзакциями.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808832
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисТранзакция возможна только одна, подтвердил её и все датасеты позакрывались

Это в IBX,а не в BDE. Там линки создавали локальные таблицы для кэша резалт-сетов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808858
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladошибаешьсяА разве всяческие mmap-ы не позволяют отображать одну и ту же страницу в адресное пространство разных процессов?
Или "Восток - дело тонкое"?
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808877
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

страничный кеш Firebird не использует mmap и работает независимо от кеша FS.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39808890
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисVlad F,

это смотря с какой стороны посмотреть. Транзакция возможна только одна, подтвердил её и все датасеты позакрывались, а COMMIT RETAIN это уже не совсем нормальное управление транзакциями.
Мы про явное управление ими ли где? На что тут ещё можно двояко смотреть, когда в наличии были .StartTransaction, .Commit и .Rollback? Потом со всем этим сообщество благополучно перешло на IBX, где, кстати, было все ровно то же самое, разве что одновременных транзакций стало возможно несколько.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39810065
ahmed sultanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, спасибо за рекомендации. Проверяю все что можно.
К сожалению в данный момент вариант с заменой настроек по умолчанию на другие не помогает.

Установил в конфиге:
ServerMode = Super
DefaultDbCachePages = 50000
TempBlockSize = 2M
TempCacheLimit = 2G

Результат тот же:
Через примерно час работы выход всех процессоров на загрузку от 50% и вверх до упора. Все тормозят, новые пользователи не подключаются. До перезапуска FB.
Переключение на СуперКлассик - полет нормальный, все работает.

Боюсь, что все таки идея о том, что конфиг по-умолчанию для СуперСервера делает большую базу полностью неработоспособной - это неправильная идея. И в какой то степени оскорбительная для команды разработчиков FB. Здесь дело в чем то другом.
...
Рейтинг: 0 / 0
Проблема загрузки процессоров при использовании FB 3 (SS)
    #39810080
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ahmed sultanov,

кто сказал что делает неработоспособной?
Я говорил что использование SS в конфигурации по умолчанию как минимум бесполезно.

А про загрузку процессоров сам смотри что именно у тебя их грузит. Конечно возможно в коде FB есть какой-то баг который вызывает гонки, но тогда почему он не проявляется у других. Делай воспроизводимый тест.

Чтобы тебе помогли ты должен предоставить максимум информации о том что происходит у тебя в системе когда она встаёт колом. Может у вас запросы настолько кривые, что такое использование процессоров это нормально. Может UDF/UDR специфические есть?
Неплохо бы снять статистику с БД. Предоставить результаты fb_lock_print
...
Рейтинг: 0 / 0
25 сообщений из 75, страница 1 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема загрузки процессоров при использовании FB 3 (SS)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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