powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird и ОЗУ Windows
25 сообщений из 49, страница 1 из 2
Firebird и ОЗУ Windows
    #39120251
alex342
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Есть FB 2.5.5 x64 (SC\SS), Windows Server 2012 R2 16Gb ОЗУ, SSD под систему и 1Тб под базу. База 150Гб и растет. Требуется добиться максимальной производительности сервера при работе приложения. Запускается одно клиентское приложение (x32) на этой же машине либо по сети и выполняется длительная процедура над 1-1.5 мл записей. Параметры firebird.conf значительно увеличены по сравнению с оптимизированными конфигами от ibsurgeon. FB в ОЗУ в любом режиме (SS/SC) занимает до 1.5Гб. А вот кеш системы файла базы не растет выше 1.5-2Гб. Свободно еще 12-13Гб ОЗУ.
Как заставить систему или FB использовать всю оперативную память?
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120262
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex342,

система и так использует оперативную память под кэш вашей базы. вы просто не туда смотрите.
http://www.ibase.ru/devinfo/Firebird_Hardware_Guide_2015_rus.pdf
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120264
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Alex342!
You wrote on 4 декабря 2015 г. 11:28:50:

Alex342> Есть FB 2.5.5 x64 (SC\SS)точно x64?
хидер базы покажи заодно (gstat -h)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120275
alex342
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Database "D:\RGB\RGB_DATA.FDB"
Database header page information:
Flags 0
Checksum 12345
Generation 5505
Page size 16384
ODS version 11.2
Oldest transaction 3827
Oldest active 4115
Oldest snapshot 4113
Next transaction 4252
Bumped transaction 1
Sequence number 0
Next attachment ID 1604
Implementation ID 26
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 1
Creation date Dec 2, 2015 17:28:24
Attributes force write

Variable header data:
Sweep interval: 0
*END*
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120311
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex342,

эээ... Запустили сервер, к базе никто не обращается. Базы в памяти нет. Подключились к базе. базы в памяти нет.
Считали что-то из базы. Это что-то попало в кэш Firebird, и в кэш ОС. Еще что-то считали - тоже попало в кэш ФБ и кэш ОС.
Читаем дальше - если информация есть в кэше ФБ, она читается оттуда. Нет - из файлового кэша ОС. Нет и там - читается с диска.
Зачем вы картинку rammap даете при совсем непонятном состоянии вашей системы?

Потом, запросы можно разделить на 2 типа. Одни жрут процессор, а другие жрут дисковый ввод-вывод. Например, select count(*) по самой большой вашей таблице - второго типа. А запрос первого типа, если еще и мало с диска читает, никак загрузку кэша ОС не покажет.
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120347
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex342,

Надо смотреть что делает ваша процедура. Например, если используется внешняя сортировка, то имеет смысл увеличить TempChacheLimit.

alex342А вот кеш системы файла базы не растет выше 1.5-2Гб.

он и не будет расти если из 150Гб читается только 1.5-2Гб
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120360
alex342
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,
В программе последовательно выполняется
start
select - 300 записей
execute procedure - 300 раз
commit

Из файла базы (монитор ресурсов) идет постоянное чтение до 1 мб/сек и такая же, поменьше примерно запись.
FB сервер (SC) привязал к одному ядру процессора, приложение к другому.
При запуске второго, третьего приложения, что локально, что по сети нагрузка на FB сервер растет, чтение/запись файла базы растет (до 3Мб\сек), вот кеш файла больше 2Гб не бывает. Простаивает память, обидно.
В это же время при копировании большого файла или при бэкапе базы кеш Windows заполняется полностью.
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120369
alex342
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Цифры в firebird.conf увеличивал многократно...

TempCacheLimit = 167108864
TempBlockSize = 18048576
TempCacheLimit = 1127108864
LockMemSize = 110048576
LockHashSlots = 130011
CpuAffinityMask = 128
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120372
alex342
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,
темр файлов нет. Под них выделена отдельная директория c:\temp и она всегда пуста.
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120393
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex342,

зачем TempCacheLimit два раза написал?

каковы значения

DefaultDbCachePages и FileSystemCacheThreshold?

Какая именно архитектура используется сейчас? А то написал SC\SS и фиг поймёшь
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120404
alex342
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

TempCacheLimit вытаскивал блокнотом и зацепил закомментированное.
Все остальные параметры закомментированы.
Сейчас стоит SC. Но картина с кешем базы одинакова и на SS. Для него также увеличивал на порядок параметры из "оптимизированного" конфига для SS.
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120408
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex342,

skype на сервере БД - это пять.

PS не сдержался
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120411
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex342,

ещё раз повторю вопрос.

Каковы значения DefaultDbCachePages и FileSystemCacheThreshold?

Это важно. Если DefaultDbCachePages > FileSystemCacheThreshold, то файловый кеш будет отключен
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120412
alex342
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DefaultDbCachePages = 20000 (не заметил, он тоже активен)
#FileSystemCacheThreshold = 65536
#FileSystemCacheSize = 0
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120414
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Hvlad!
You wrote on 4 декабря 2015 г. 12:44:27:

Hvlad> skype на сервере БД - это пять.
скорее всего там и Fallout, или GTA есть
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120417
alex342
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
это машина для теста. Но могу и снести...
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120438
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex342вот кеш файла больше 2Гб не бывает. Простаивает память, обидно.
значит больше двух гиг данных из базы не читается. только и всего. И нечему там простаивать.
База ваша 150 гиг, и в 16 гиг ОЗУ она никак не влезет, при всем желании. ОС сама разберется, сколько ей кэшировать.

alex342select - 300 записей
execute procedure - 300 раз
300 записей никак 2 гига не займут, и уж тем более 16.
вызов процедуры - да, в зависимости от того, сколько данных там обрабатывается.

Вам надо сделать так
1 перегрузить комп.
2 запустить вашу программу, замерять время выполнения вот этих самых выборок и выполнений процедуры.
3 отключиться от ФБ, выполнить пункт 2 еще раз, опять замерять время.
4 выполнить еще раз действия в вашей программе, замерять время

По разнице во времени между пунктами 2 и 3 будет понятно, кэширует ОС что-либо, или нет.
а между пунктами 3 и 4 будет видна разница между кэшированием ФБ.

При первом обращении к данным ни в кэше ФБ ни кэше ОС ничего нет. Повторное обращение позволяет выяснить, попадает что в кэш, или вытесняется.
Если же ваши процедуры елозят по всем 150 гиг, то все будет вытесняться из кэша и ФБ, и ОС, и время будет одинаковым

Можно еще процедуру и запрос выполнить в IBExpert, посмотреть на page reads from disk, при первом и втором запуске.
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120480
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex342Sweep interval: 0
Зачем?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120553
alex342
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
А это следующий вопрос...
После обработки 150000-200000 строк FB сервер начинал занимать 100% ядра и обработка падала с 600 строк в минуту вначале до 50 через несколько часов. Я думал, мешает уборка мусора. Оказалось , что нет. Но 0 оставил.
У меня задача - максимально ускорить обработку кусков по 1-2 млн строк.
В начале: select - 7-10 сек, execute proc 0.01-0.02 сек, commit - 1-2 сек
Через несколько часов времена пропорционально увеличиваются.
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120561
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
жЭнтльмэны! а вам не кажется что это пятничный разводняк?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120562
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex342После обработки 150000-200000 строк FB сервер начинал занимать 100% ядра и
обработка падала с 600 строк в минуту вначале до 50 через несколько часов.
Крутить железо не поможет, вам там нужен вменяемый DBA и разработчик приложения. Возможно,
в одном лице.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120564
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex342,

ты бы уже показал что там твоя процедура делает. А то может быть надо её подкручивать, а не в конфиге копаться
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120570
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex342,

тогда читай вот это
http://www.ibase.ru/devinfo/optimize.htm
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120571
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Мосье даже простой скриншот не может обрезать, а ты такие сложности требуешь.
...
Рейтинг: 0 / 0
Firebird и ОЗУ Windows
    #39120613
alex342
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,
Раскомментировал FileSystemCacheThreshold = 65536 по совету Симонова Дениса.
Win кеш остановился вообще на 300К. Возвращаю назад, а пока картинку прикладываю.
Стер 8-ку. Время обработки первого запуска 8 мин и второго после перезапуска приложения тоже 8 минут. Кеш выключился.

Вот весь конфиг:
#RootDirectory =
#DatabaseAccess = Full
#ExternalFileAccess = None
#UdfAccess = Restrict UDF
#TempDirectories =
#LegacyHash = 1
#Authentication = native
#AuditTraceConfigFile =
#MaxUserTraceLogSize = 10
#DefaultDbCachePages = 512
DefaultDbCachePages = 20000
#DatabaseGrowthIncrement = 134217728
FileSystemCacheThreshold = 65536
#FileSystemCacheSize = 0
#RemoteFileOpenAbility = 0
#TempBlockSize = 2048576
TempBlockSize = 18048576
TempCacheLimit = 1127108864
#CompleteBooleanEvaluation = 0
#DeadlockTimeout = 10
#MaxUnflushedWrites = 100
#MaxUnflushedWriteTime = 5
#BugcheckAbort = 0
#OldColumnNaming = 0
#OldSetClauseSemantics = 0
#RelaxedAliasChecking = 0
#ConnectionTimeout = 180
#DummyPacketInterval = 0
#RemoteServiceName = gds_db
#RemoteServicePort = 3050
#RemoteAuxPort = 0
#TcpRemoteBufferSize = 8192
#TcpNoNagle = 1
#RemoteBindAddress =
#LockMemSize = 5048576
LockMemSize = 110048576
#LockGrantOrder = 1
#LockAcquireSpins = 0
LockHashSlots = 130011
#EventMemSize = 65536
CpuAffinityMask = 128
#UsePriorityScheduler = 1
#PrioritySwitchDelay = 100
#PriorityBoost = 5
#GCPolicy = combined
#GuardianOption = 1
#ProcessPriorityLevel = 0
#IpcName = FIREBIRD
#RemotePipeName = interbas
#Redirection = 0
...
Рейтинг: 0 / 0
25 сообщений из 49, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird и ОЗУ Windows
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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