powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Оптимизированные конфиги для Firebird
67 сообщений из 67, показаны все 3 страниц
Оптимизированные конфиги для Firebird
    #38824201
Фотография Alexey Kovyazin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сабж, собственно: http://ib-aid.com/ru/optimized-firebird-configuration/

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

With best regards,
Alexey Kovyazin
www.ibsurgeon.com
www.ibase.ru/techsupp.htm
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824232
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вытащу таки сюда то, что у мну сусеках записано было. И предлагаю затолкать туда в качестве шпоры :-)

0) Бысто вытащить все только незакомментаренные параметры конфига, без "#-мусора":
Код: plaintext
1.
2.
nix: grep "^[^#;]" firebird.conf | sort
win: findstr /r /c:"^[^#;]" firebird.conf +| sort

1) Про LockHashSlots , http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=993274&msg=13688627
kdvпо LockMemSize еще запомните формулу (автор - dimitr)

LockMemSize >= Cache_pages * max_connections_count * 100

А насчет LockHashSlots Пешков давно заявлял, что уже можно ставить 10007, фактически в качестве "дефолтного" значения. 2) Опять про LockHashSlots , http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1075167&msg=15519745
dimitrТаблоидНа стр. 10 по-прежнему торчит старое LockHashSlots = 1009.
Этот дефолт - он действительно устарел (так считает Алекс, если смотреть на ссылку от kdv) или нет ?"старое" - это 101 слот, а 1009 слотов являются дефолтом не так и давно, последние 5 лет. Насчет "устаревшего" - все зависит от числа коннектов, давай посчитаем вместе: 1009 слотов в среднем по 10 коллизий это 10К страниц (остальные типы локов для простоты игнорируем). Дефолтный размер кеша SC/CS - 75 страниц в 2.х и 256 страниц в 3.0. Получается, что дефолт рассчитан на ~130 коннектов в 2.х и ~40 коннектов в 3.0. На самом деле несколько меньше. Мое личное мнение - в 3.0 можно и увеличить, а в 2.5 число слотов вполне адекватно размеру кеша.3) Про LockMemSize , http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1092754&msg=15971603
dimitrв первом приближении: число страниц кеша * число коннектов в пике * 100 байт. А проще мониторить параметр Used лок-таблицы в течении дня и устанавливать LockMemSize в значение раза в два (чтобы с запасом) более найденного.4) Про TempBlockSize, TempCacheLimit , а также их "влияние" на GTT:
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1099687&msg=16152458 dimitrэти параметры (TempBlockSize и TempCacheLimit) на GTT никак не влияют :-) А TempBlockSize я бы советовал выставлять не более 5% от TempCacheLimit и не менее 1МБ (дефолтное значение).
Плюс добавить "мантру" (DS'a, кажется): размер страничного кеша д.б. равен примерно половине объема физ. памяти.
Плюс добавить инфу о том, что если в CS/SC команда fb_lock_print -c -d <database> | grep -i "hash lengths" выдаёт для "min/avg/max" значения больше, чем M1 / M2 / M3, то надо делать "то-то и то-то" (M1, M2, M3 - не помню точно их; но max был меньше 15-20).

ЗЫ. Еще неплохо бы скопипастить туда (с разрешения автора, ес-сно) статью про настройку keep-alive'ов в nix/win. Эти параметры влияют на время отвала мертвяков, их дефолтные значения могут приводить к "недоразумениям".
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824247
Фотография Alexey Kovyazin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Плюс добавить "мантру" (DS'a, кажется): размер страничного кеша д.б. равен примерно половине объема физ. памяти.

Ты извини, но мы другим богам молимся :)
Размер страничного кэша до 2.5 включительно на SuperServer (речь то про него?) ставить надо в 10000. Якобы есть процедуры разогрева кэша и прочая-прочая для больших значений, но эффект от такого тюнинга минимальный, а вот геморроя и тестов выше крыши.
Для Classic и SuperClassic совет тем более не годится - намедни ребята из Австралии обратились с БД в 5Гб и 128Гб ОЗУ, с 80 коннектами. По этой логике, надо каждому коннекту воткнуть по 50 тысяч буферов? :)
И у россиян такое видели, в Инфоклинике.

На 3.0 в твоем тесте и вообще ситуация с кэшем более интересная, и эффект от разогрева виден невооруженным взглядом, но с 3.0 мы только начинаем набирать практический оптимизационный опыт - т.к. коллективных разум юзеров в плане создания проблем куда как мощнее силы предвидения разработчиков :)
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824265
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey KovyazinРазмер страничного кэша до 2.5 включительно на SuperServer (речь то про него?) ставить надо в 10000. Якобы есть процедуры разогрева кэша и прочая-прочая для больших значений, но эффект от такого тюнинга минимальный, а вот геморроя и тестов выше крыши .А это не устаревшие страшилки ? Какой там гемор, в чём он ?
Я вот помню, что Главный Источник Света сказал, что это давно уже пофиксено, с 2.0 вроде. Не могу найти сиё, но точно помню разговор на эту тему.

Alexey KovyazinДля Classic и SuperClassic совет тем более не годится - намедни ребята из Австралии обратились с БД в 5Гб и 128Гб ОЗУ, с 80 коннектами. По этой логике, надо каждому коннекту воткнуть по 50 тысяч буферов? :)
И у россиян такое видели, в Инфоклинике.Гм... ну, а какой тогда верхний лимит-то для CS/SC ? 10 тыс страниц ?

Alexey KovyazinНа 3.0 в твоем тесте и вообще ситуация с кэшем более интересная, и эффект от разогрева виден невооруженным взглядом, но с 3.0 мы только начинаем набирать практический оптимизационный опыт - т.к. коллективных разум юзеров в плане создания проблем куда как мощнее силы предвидения разработчиков :)Эффект от разогрева в 3.0 начинает проявляться только при большом числе коннектов (больше 175), а на 2.5 - сразу (скрин - с презентухи к конфе-2014)
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824538
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Kovyazin,

про конфиг трёшки. Как известно трёшку можно конфигурировать для каждой БД отдельно в файле databases.conf. Например вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
mydb = d:\fb\fb30\data\mydb.fdb {
	TempBlockSize = 2M
	TempCacheLimit = 512M
	DefaultDbCachePages = 32K
	LockMemSize = 5M
}

mydb2 = d:\fb\fb30\data\mydb.fdb {
	TempCacheLimit = 256M
	DefaultDbCachePages = 8K
}

Кстати тут возник такой вопрос: в суперсервере страничный кэш выделяется индивидуально для каждой БД? Если нет то какой будет итоговый размер страничного кэша в указанной конфигурации и будет ли кэш одной БД вытесняться в процессе работы с другой?
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824549
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

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

ещё один вопросик

firebird.conf# ===========================
# Engine Settings
# ===========================
#
# ----------------------------
# Which CPUs should be used (Windows Only)
#
# In an SMP system, sets which processors can be used by the server.
# The value is taken from a bit map in which each bit represents a CPU.
# Thus, to use only the first processor, the value is 1. To use both
# CPU 1 and CPU 2, the value is 3. To use CPU 2 and CPU 3, the value
# is 6. The default value is 0 - no affinity will be set.
#
# Type: integer
#
#CpuAffinityMask = 0

Судя по комментам этот параметр распространяется только на движок в целом. А нельзя ли сделать этот параметр индивидуальным для каждой БД? Например у меня есть 12 ядерный процессор. Я хочу что бы первая БД использовала 8 ядер процессора, а вторая оставшиеся 4.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824608
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

маска назначается процессу целиком, все вопросы к микрософту
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824624
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Alexey Kovyazin!
You wrote on 4 декабря 2014 г. 11:17:28:

Alexey Kovyazin> Отзывы, замечания и предложения
приветствуются. 1.5 classic.
DefaultDbCachePages = 512оно конечно лучше чем 75,
но весьма спорно.
SortMemBlockSize = 1048576
SortMemUpperLimit = 77108864ничем не отличаются от дефолтных.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824632
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr> маска назначается процессу целиком, все вопросы к микрософту

В каком смысле? Можно и потокам назначать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824658
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамВ каком смысле? Можно и потокам назначать.
+1
msdnThread Affinity

Thread affinity forces a thread to run on a specific subset of processors. Setting thread affinity should generally be avoided, because it can interfere with the scheduler's ability to schedule threads effectively across processors. This can decrease the performance gains produced by parallel processing. An appropriate use of thread affinity is testing each processor.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824689
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman> msdn

Да не надо Диме МСДН цитировать,
он и сам его читать умеет, благо там
всего 2 функции понадобятся, AFAIU.

Просто сама мысль непонятна - если
из лени при наличии воркэраунда в
виде двух отдельных процессов - то
ОК, никаких претензий, надо так и
говорить, чего стесняться-то.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824740
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у нас используется SetProcessAffinityMask, про нее написал выше. Существует еще SetThreadAffinityMask, но чтобы ее использовать для SS/SC - надо знать какой поток к какой базе относится. При наличии пула потоков (а управляет им сетевой сервер, который один на все базы) это не совсем примитивно, плюс придется переустанавливать аффинити на каждый вызов АПИ (когда поток берется из пула). Я не уверен, что этот геморрой себя окупит. Ну и таки да, лично я предложил бы поднимать свой инстанс на каждую базу. Не в качестве воркэраунда, а вообще.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824911
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrНу и таки да, лично я предложил бы поднимать свой инстанс на каждую базу. Не в качестве воркэраунда, а вообще.
Или написать типа такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
mydb = d:\fb\fb30\data\mydb.fdb {
    RemotePort = 5000
    AffinityMask = 7
    WireCompression = true
    AuthServer = Srp
    SharedCache = true
    SharedDatabase = false

    TempBlockSize = 2M
    TempCacheLimit = 512M
    DefaultDbCachePages = 32K
    LockMemSize = 5M
}

otherdb = d:\fb\fb30\data\otherdb.fdb {
    RemotePort = 5001
    AffinityMask = 1
    WireCompression = false
    AuthServer = Legacy_Auth
    SharedCache = false
    SharedDatabase = true

    TempCacheLimit = 256M
    DefaultDbCachePages = 8K
}

otherdb2 = d:\fb\fb30\data\otherdb2.fdb {
    RemotePort = 5001
    AffinityMask = 3
    WireCompression = true
    AuthServer = Legacy_Auth
    SharedCache = true
    SharedDatabase = true

    TempCacheLimit = 256M
    DefaultDbCachePages = 8K
}
чтобы инстансы на портах 5000 и 5001 поднялись сами :)
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824932
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И кстати AffinityMask удобней задавать в виде ноликов и еденичек, например для 32-ядер:
00111100111111110000000000001111
и чтобы можно было написать человеко-читаемо:
0011 1100 1111 1111 0000 0000 0000 1111
00111100 11111111 00000000 00001111
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824935
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDee,

ага а кто инициатор их подъёма?
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824940
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeИли написать типа такого
фантазии оставь себе
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38824955
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисNickDee,

ага а кто инициатор их подъёма?
возможно тот, кто открывает порт 3050 :) Но разработчикам лучше знать. Я просто со стороны пользователя говорю. Пользователю удобней чтобы был один инсталл и один сервис, и тюнить его он готов в рамках дозволенного разработчиками. А вот просто инсталлировать ещё один инстанс чтобы разнести две базы на разные процессоры или чтобы разделить SS и CS - это уже для многих челендж.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825035
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeПользователю удобней чтобы был один инсталл и один сервис
Тогда им на Оракул с его "один сервер - одна БД".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825172
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovNickDeeПользователю удобней чтобы был один инсталл и один сервис
Тогда им на Оракул с его "один сервер - одна БД".

Удобней чтобы был один инсталл и один сервис на все базы, как сейчас. И для гибкости и секюрности нужно к этому добавить возможность поднимать инстансы с собственной конфигурацией, в том числе имеющим свой порт, свой IpcName, свою архитектуру, свою систему аутентификации, свои трэйсы, свои логи и пр.

Хотя может и удобней будет делать копию каталога FB для каждой такой базы, и настраивать там глобальный конфиг, регистрировать и запускать отдельный сервис, как сейчас в FB 2.5. Ведь сейчас в 2.5 если люди хотят запустить одну базу как SS, а другую как CS, то они просто молча делают копию FB, правят конфиг, инсталлируют два инстанса на разных портах и всё. Каждый кто хочет одновременно работать с разными архитектурами делает именно так. Все пользователи при первой же потребности проделывают это на раз-два, там делов то на минуту - скопировал, подправил конфиг, зарегистрировал сервис с нужными параметрами (регистрируется элементарно - нужно с firebirdsql.org скачать архив с сервером, скопировать себе install_classic.bat или install_super.bat и запустить нужный с нужным параметром). Т.е. догадается и справится каждый :) И справлялся уже не раз :)
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825206
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeВедь сейчас в 2.5 если люди хотят запустить одну базу как SS, а другую как CS, то они просто молча делают копию FBЗачем копию ???

Если ты не знаешь, как указать листенеру свой порт, это не значит, что это не возможно и никто другой об этом не знает.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825306
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladNickDeeВедь сейчас в 2.5 если люди хотят запустить одну базу как SS, а другую как CS, то они просто молча делают копию FBЗачем копию ???

Если ты не знаешь, как указать листенеру свой порт, это не значит, что это не возможно и никто другой об этом не знает.
Так я и говорю что все пользователи на раз-два сумеют.
Подскажи как на раз-два для дефолтной инсталляции FB 2.5 запустить три листенера: первый как SS (5000), второй как CS (5001), третий как SC (5002). Каждый со своим конфигом, естественно.
И как это будет для FB3.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825434
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDee,

fbserver -a -i -p 5000
fb_inet_server -a -i -p 5001
fb_inet_server -a -m -i -p 5002

если нужны свои конфиги и\или сервисы - изучай ком строку.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825503
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladизучай ком строкуЭто что ж мне теперь и доку читать??? Доку читают "неудачнеги"!
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825507
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevskyhvladизучай ком строкуЭто что ж мне теперь и доку читать??? Доку читают "неудачнеги"!
Так он же принципиально «имеет право не хотеть знать»©
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825514
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladNickDee,

fbserver -a -i -p 5000
fb_inet_server -a -i -p 5001
fb_inet_server -a -m -i -p 5002

если нужны свои конфиги и\или сервисы - изучай ком строку.А что, fbserver.exe / fb_inet_server.exe дейтвительно могут принимать что-то типа '-c my_special_fb.conf' ?
PS. Где-то вообще описаны все параметры запуска ФБ как приложения ?
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825521
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид> PS. Где-то вообще описаны все параметры запуска ФБ как приложения ?
Тута ... :-)))

--
Vladimir A.Bakhvaloff
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825530
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zirra,

там смешно, да. Но не очень информативно. Диля апач толкает в массы, со скринами :-)
А про ключик '-h' - заинтриговало: сейчас он ничего не выдаёт. А раньше что - выдавал ?
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825549
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

никогда не выдавал
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825618
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr> надо знать какой поток к какой базе относится.
dimitr> это не совсем примитивно

Не смог придумать, какие там могут быть сложности.

dimitr> Ну и таки да, лично я предложил бы
dimitr> поднимать свой инстанс на каждую базу

Я собственно об этом и говорю - надо просто называть
(по возможности) вещи своими именами, чтобы не
возникало вот таких вот вопросов и возмущений.

dimitr> Не в качестве воркэраунда, а вообще.

А почему?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825629
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladNickDee,

fbserver -a -i -p 5000
fb_inet_server -a -i -p 5001
fb_inet_server -a -m -i -p 5002

если нужны свои конфиги и\или сервисы - изучай ком строку.
Ну вот, оказывается "fbserver -h" не работает. Забавного кругаля дали прежде чем выйти на это :)

И кстати обращаю внимание на странность. То что не работает "fbserver -h" было выявлено давно. Все поржали и оставили как есть.
Я не говорю что это плохо. Просто пользователи, особенно которым за тридцатку, на такие финты смотрят с недоумением.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825630
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидА что, fbserver.exe / fb_inet_server.exe дейтвительно могут принимать что-то типа '-c my_special_fb.conf' ?Нет. Но значение FIREBIRD у каждого процесса вполне может быть своим собственным.

ТаблоидPS. Где-то вообще описаны все параметры запуска ФБ как приложения ?У меня есть стойкое ощущение, что я их тут описывал неоднократно.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825631
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeНу вот, оказывается "fbserver -h" не работает.А что это такое и как именно оно не работает ?

NickDeeпользователи, особенно которым за тридцатку, на такие финты смотрят с недоумением.Какие "такие финты" ? Ты с кем сейчас разговариваешь ?

Ты опять :
- присваиваешь себе право говорить от имени каких-то пользователей
- тычешь пальцем в небо
- сядешь в лужу

Оно тебе надо в твои "за тридцаткой" ?
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825642
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladNickDeeНу вот, оказывается "fbserver -h" не работает.А что это такое и как именно оно не работает ?
hvladесли нужны свои конфиги и\или сервисы - изучай ком строку.Ты про какую ком строку говорил? Я понял про параметры fbserver.exe.

hvlad- присваиваешь себе право говорить от имени каких-то пользователейЯ ведь из их числа. Но я могу выйти из роли пользователя и войти в роль разработчика FB, и увидеть что всё ok, что FB - лучший, и пойти даже в соседние ветки поспорить с кем-нибудь, от лица FB, как тут некоторые практикуют время от времени (спор от лица FB практикуют) :)
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825646
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDee> Ну вот, оказывается "fbserver -h" не работает. Забавного кругаля дали прежде чем выйти на это :)
NickDee> И кстати обращаю внимание на странность. То что не работает "fbserver -h" было выявлено давно.
NickDee> Все поржали и оставили как есть.

Хорош бузить уже, утомил, ей-Богу.
Особенно если знание вопроса ниже плинтуса.

NickDee> Я не говорю что это плохо. Просто пользователи, особенно
NickDee> которым за тридцатку, на такие финты смотрят с недоумением.

Какие финты? Какие пользователи за тридцатку?
Те кретины, которые думают, что -h перестал
выдавать список параметров командной строки?
Да на здоровье. И много таких кретинов?

Кому надо, у кого есть вопрос, проблема - придут,
спросят, получат ответ. Проблем и поля для работы
и улучшений (в т.ч. по вопросу командной строки)
более чем достаточно, но не тот бред и срач, который
ты тут несёшь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825655
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDee> Но я могу выйти из роли пользователя и войти в роль разработчика FB, и увидеть что всё ok, что FB - лучший, и пойти даже в соседние ветки поспорить с кем-нибудь, от лица FB, как
> тут некоторые практикуют время от времени (спор от лица FB практикуют) :)
Ой... Мне стало нехорошоу...


--
Vladimir A.Bakhvaloff
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825673
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrСуществует еще SetThreadAffinityMask, но чтобы ее использовать для SS/SC - надо знать какой поток к какой базе относится. При наличии пула потоков (а управляет им сетевой сервер, который один на все базы) это не совсем примитивноСетевой сервер может создать несколько пулов - по одному на каждый бит CpuAffinityMask из firebird.conf плюс необязательный параметр у вызова, возвращающего рабочую нить.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825787
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

сделать можно многое. Вопрос в том, нафига.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825826
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТаблоидА что, fbserver.exe / fb_inet_server.exe дейтвительно могут принимать что-то типа '-c my_special_fb.conf' ?Нет. Но значение FIREBIRD у каждого процесса вполне может быть своим собственным.Взлетело!
Создал три папки: C:\TEMP\FB_1, C:\TEMP\FB_2 и C:\TEMP\FB_3.

В каждую из них пришлось копировать:
1) файл security2.fdb;
2) подпапку 'fbintl' (иначе будут ошибки парсинга BLR для непустых баз, в которых есть user-defined коллации);
3) firebird.conf
4) aliases.conf:
Код: plaintext
1.
2.
t1=C:\1INSTALL\FIREBIRD\FB25SNAP\T1.fdb 
t2=C:\1INSTALL\FIREBIRD\FB25SNAP\T2.fdb 
t3=C:\1INSTALL\FIREBIRD\FB25SNAP\t3.dfb

Далее отредактировать файлы firebird.conf, задав при этом в них DefaultDbCachePages и RemoteServicePort равными соотв-но: 5001, 5002 & 5003.

Затем сбацал вот такой батничек ('fbrun.bat'):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
set fbn=%1
set /a fbp = 5000+%1

@rem Это где ФБ был установлен. 
@rem Отсюда будут читаться .dll'ки (каждым запускаемым инстансом):
set fb_home=C:\1INSTALL\FIREBIRD\FB25SNAP

@rem Пусть сообщения также читает только из одного места:
set FIREBIRD_MSG=%fb_home%

@rem Это откуда мы его заставим читать firebird.conf & aliases.conf
@rem (и почему-то ему там надо видеть еще и папку 'fbintl'...):
set FIREBIRD=C:\TEMP\FB_%fbn%

@rem -i = block listening xnet/wnet:
start %fb_home%\bin\fbserver -a -i -p %fbp%

Ну, и запускаю в трёх окнах:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 cmd.exe #1 
C:\>fbrun.bat 1 // запустит: start C:\1INSTALL\FIREBIRD\FB25SNAP\bin\fbserver -a -i -p 5001
C:\>isql localhost/5001:t1
Database:  localhost/5001:t1

 cmd.exe #2 
C:\>fbrun.bat 2 // запустит: start C:\1INSTALL\FIREBIRD\FB25SNAP\bin\fbserver -a -i -p 5002
C:\>isql localhost/5002:t2
Database:  localhost/5002:t2

 cmd.exe #3 
C:\>fbrun.bat 3 // запустит: start C:\1INSTALL\FIREBIRD\FB25SNAP\bin\fbserver -a -i -p 5003
C:\>isql localhost/5003:t3
Database:  localhost/5003:t3

Если теперь в каждом из окон запустить вот это:
Код: plaintext
1.
2.
show database;
set stat on; set list on; select * from mon$database;
- то можно будет видеть, что всё пучком:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
Database:  localhost/5001:t1 
        Owner: SYSDBA
PAGE_SIZE 4096
Number of DB pages allocated = 196
Sweep interval = 20000
Forced Writes are OFF
Transaction - oldest = 3
Transaction - oldest active = 12
Transaction - oldest snapshot = 12
Transaction - Next = 15
ODS = 11.2
Default Character set: NONE

MON$DATABASE_NAME               C:\1INSTALL\FIREBIRD\FB25SNAP\T1.FDB
MON$PAGE_SIZE                   4096
MON$ODS_MAJOR                   11
MON$ODS_MINOR                   2
MON$OLDEST_TRANSACTION          3
MON$OLDEST_ACTIVE               12
MON$OLDEST_SNAPSHOT             12
MON$NEXT_TRANSACTION            15
 MON$PAGE_BUFFERS                5001 
MON$SQL_DIALECT                 3
MON$SHUTDOWN_MODE               0
MON$SWEEP_INTERVAL              20000
MON$READ_ONLY                   0
MON$FORCED_WRITES               0
MON$RESERVE_SPACE               1
MON$CREATION_DATE               2014-01-02 21:37:13.0150
MON$PAGES                       196
MON$STAT_ID                     1
MON$BACKUP_STATE                0


Current memory = 21595408
Delta memory = 100056
Max memory = 21609036
Elapsed time= 0.04 sec
 Buffers = 5001 
Reads = 19
Writes 0
Fetches = 457

=================================

Database:  localhost/5002:t2 
        Owner: SYSDBA
PAGE_SIZE 4096
Number of DB pages allocated = 196
Sweep interval = 20000
Forced Writes are OFF
Transaction - oldest = 3
Transaction - oldest active = 12
Transaction - oldest snapshot = 12
Transaction - Next = 15
ODS = 11.2
Default Character set: NONE

MON$DATABASE_NAME               C:\1INSTALL\FIREBIRD\FB25SNAP\T2.FDB
MON$PAGE_SIZE                   4096
MON$ODS_MAJOR                   11
MON$ODS_MINOR                   2
MON$OLDEST_TRANSACTION          3
MON$OLDEST_ACTIVE               12
MON$OLDEST_SNAPSHOT             12
MON$NEXT_TRANSACTION            15
 MON$PAGE_BUFFERS                5002 
MON$SQL_DIALECT                 3
MON$SHUTDOWN_MODE               0
MON$SWEEP_INTERVAL              20000
MON$READ_ONLY                   0
MON$FORCED_WRITES               0
MON$RESERVE_SPACE               1
MON$CREATION_DATE               2014-01-02 21:37:13.0150
MON$PAGES                       196
MON$STAT_ID                     1
MON$BACKUP_STATE                0


Current memory = 21599640
Delta memory = 100056
Max memory = 21613268
Elapsed time= 0.01 sec
 Buffers = 5002 
Reads = 19
Writes 0
Fetches = 457

================================

Database:  localhost/5003:t3 
        Owner: SYSDBA
PAGE_SIZE 4096
Number of DB pages allocated = 196
Sweep interval = 20000
Forced Writes are OFF
Transaction - oldest = 3
Transaction - oldest active = 14
Transaction - oldest snapshot = 14
Transaction - Next = 17
ODS = 11.2
Default Character set: NONE

MON$DATABASE_NAME               C:\1INSTALL\FIREBIRD\FB25SNAP\T3.DFB
MON$PAGE_SIZE                   4096
MON$ODS_MAJOR                   11
MON$ODS_MINOR                   2
MON$OLDEST_TRANSACTION          3
MON$OLDEST_ACTIVE               14
MON$OLDEST_SNAPSHOT             14
MON$NEXT_TRANSACTION            17
 MON$PAGE_BUFFERS                5003 
MON$SQL_DIALECT                 3
MON$SHUTDOWN_MODE               0
MON$SWEEP_INTERVAL              20000
MON$READ_ONLY                   0
MON$FORCED_WRITES               0
MON$RESERVE_SPACE               1
MON$CREATION_DATE               2014-01-02 21:37:13.0150
MON$PAGES                       196
MON$STAT_ID                     1
MON$BACKUP_STATE                0


Current memory = 21603872
Delta memory = 100056
Max memory = 21617500
Elapsed time= 0.03 sec
 Buffers = 5003 
Reads = 19
Writes 0
Fetches = 457
hvladТаблоидPS. Где-то вообще описаны все параметры запуска ФБ как приложения ?У меня есть стойкое ощущение, что я их тут описывал неоднократно.У мну - тоже :-) Но найти пока не могу.
Помню, что -i блокирует прослушку xnet/wnet, но FB слушает три протокола, и вот какой-то есть еще ключик, который блокирует прослушку третьего (не ТСР, разумеется). А какой - не помню.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825843
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

попробуй с трёшкой такое проделать
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825884
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeТы про какую ком строку говорил?Про язык командного интерпретатора. Учись у Таблоида, например.

NickDeehvlad- присваиваешь себе право говорить от имени каких-то пользователейЯ ведь из их числа. Вот и говори за себя. В единственном числе от первого лица. А не во множественном от третьего, как ты обычно делаешь.

Дальнейший бред даже комментировать не хочется. Ты опять провоцируешь. Серо и однообразно...
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825898
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидПомню, что -i блокирует прослушку xnet/wnet, но FB слушает три протокола, и вот какой-то есть еще ключик, который блокирует прослушку третьего (не ТСР, разумеется). А какой - не помню.По-умолчанию, FB слушает все известные ему сетевые протоколы.
На Windows это - INET, WNET, XNET (TCP\IP, NetBEUI, local), на остальных ОС - только INET.
При запуске можно указать, какие конкретно протоколы нужно слушать, остальные в этом случае отключены:
-i включает INET
-w включает WNET
-x включает XNET
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825947
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeНу вот, оказывается "fbserver -h" не работает.

ntoskrnl.exe -h тоже не работает

"C:\Program Files (x86)\Common Files\Microsoft Shared\Source Engine\OSE.EXE" -h
"C:\Program Files\Microsoft SQL Server\MSSQL10_50.EMSDATABASE\MSSQL\Binn\SQLAGENT.EXE" -h

тоже не работают.

Как страшно жить...
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825953
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladУ меня есть стойкое ощущение, что я их тут описывал неоднократно.

Не имеет значения. Форум - не документация.
Даже если вы это на firebirdsql.org укажете - все равно не будет
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825956
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochДаже если вы это на firebirdsql.org укажете
...что форумы на SQL.ru - документация
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825975
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид> Помню, что -i блокирует прослушку xnet/wnet

Не блокирует, а задаёт использование.
Собсно, как Влад выше указал.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38825981
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch> ntoskrnl.exe -h oi?a ia gaaioaao
>
> oi?a ia gaaioaso.
>
> Eae nogaoii ?eou...

Дело не в не работает. Добавить вывод
хоть в отдельный месседж-бокс, как это
делается в некоторых утилитах или как
выводится номер версии, можно, просто
это преувеличение мухи до слона.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826190
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТаблоидПомню, что -i блокирует прослушку xnet/wnet, но FB слушает три протокола, и вот какой-то есть еще ключик, который блокирует прослушку третьего (не ТСР, разумеется). А какой - не помню.По-умолчанию, FB слушает все известные ему сетевые протоколы.
На Windows это - INET, WNET, XNET (TCP\IP , NetBEUI, local), на остальных ОС - только INET.
При запуске можно указать, какие конкретно протоколы нужно слушать, остальные в этом случае отключены:
-i включает INET
-w включает WNET
-x включает XNETСпасибо. Прикрутил к стене болтами М12 с гроверными шайбами.
Ибо ведь искал недавно, только сейчас нашёл тот старый пост про эту же тему.

ЗЫ. Еще небольшой вопрос. XNET - это же локальный протокол. Почему TCP\IP в скобках сразу после него, а не после INET ?
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826196
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще вот что интересно: можно ли ему также элегантно подсунуть единый aliases.conf и sec2.fdb, т.е. не копировать их в отдельные папки ?
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826214
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидЗЫ. Еще небольшой вопрос. XNET - это же локальный протокол. Почему TCP\IP в скобках сразу после него, а не после INET ?А ты перечитай ещё раз.
Не получается ? Ну, тогда добавь слово "соответственно" после local

На Windows это - INET, WNET, XNET (TCP\IP, NetBEUI, local соответственно)
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826218
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНа Windows это - INET, WNET, XNET (TCP\IP, NetBEUI, local соответственно )Всё, теперь точно взлетело!
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826221
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоидможно ли ему также элегантно подсунуть единый aliases.confВ 2.5 - не вижу способа.

А вот общий security2.fdb - можно, используя aliases.conf. Но не для SS
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826224
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТаблоидможно ли ему также элегантно подсунуть единый aliases.confВ 2.5 - не вижу способа.

А вот общий security2.fdb - можно, используя aliases.conf. Но не для SSЛадно, тогда по-деревенски сделаем :-)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
set fbn=%1
set /a fbp = 5000+%1

@rem Это где ФБ был установлен. 
@rem Отсюда будут читаться .dll'ки (каждым запускаемым инстансом):
set fb_home=C:\1INSTALL\FIREBIRD\FB25SNAP

@rem Пусть сообщения также читает только из одного места:
set FIREBIRD_MSG=%fb_home%

@rem Это откуда мы его заставим читать firebird.conf & aliases.conf
@rem (и почему-то ему там надо видеть еще и папку 'fbintl'...):
set FIREBIRD=C:\TEMP\FB_%fbn%

 copy %fb_home%\aliases.conf %FIREBIRD%\*.*
copy %fb_home%\security2.fdb %FIREBIRD%\*.* 

@rem -i = block listening xnet/wnet:
start %fb_home%\bin\fbserver -a -i -p %fbp%
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826260
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladА вот общий security2.fdb - можно, используя aliases.conf. Но не для SS

А разве в aliases.conf нельзя указать БД на удалённом сервере? Помнится, часть справа от
знака равенства там распознаётся как обычный connection string...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826322
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТаблоидможно ли ему также элегантно подсунуть единый aliases.confВ 2.5 - не вижу способа.
банальным симлинк? а блин, тут ж винда, симлинк весьма небанальная штуковина для оной.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826349
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА разве в aliases.conf нельзя указать БД на удалённом сервере?Можно. Но
- это не будет работать по-умолчанию
- это совсем никак не будет работать для security database
iirc
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826490
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоидhvladпропущено...
В 2.5 - не вижу способа.

А вот общий security2.fdb - можно, используя aliases.conf. Но не для SSЛадно, тогда по-деревенски сделаем :-)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
set fbn=%1
set /a fbp = 5000+%1

@rem Это где ФБ был установлен. 
@rem Отсюда будут читаться .dll'ки (каждым запускаемым инстансом):
set fb_home=C:\1INSTALL\FIREBIRD\FB25SNAP

@rem Пусть сообщения также читает только из одного места:
set FIREBIRD_MSG=%fb_home%

@rem Это откуда мы его заставим читать firebird.conf & aliases.conf
@rem (и почему-то ему там надо видеть еще и папку 'fbintl'...):
set FIREBIRD=C:\TEMP\FB_%fbn%

 copy %fb_home%\aliases.conf %FIREBIRD%\*.*
copy %fb_home%\security2.fdb %FIREBIRD%\*.* 

@rem -i = block listening xnet/wnet:
start %fb_home%\bin\fbserver -a -i -p %fbp%

Винда не умеет запускать батники как сервисы. Так что твоё решение не для продакшена.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826581
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeВинда не умеет запускать батники как сервисы.Ну так sc.exe из RKit'a ей в помощь.

Создай батник, который будет делать что-то типа такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
set firebird = FB_nnn 
sc query | findstr /i /r /c:'^FB_nnn' 
if errorlevel 1 (
  sc create FB_nnn
)
sc start FB_nnn.

Добавь его в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Потренируйся, короче :-)

NickDeeТак что твоё решение не для продакшена.У тебя в продакшене, на одном хосте, фигачат сразу несколько ФБ-инстансов, причём они не просто "слушают", а еще и работают - так ведь ?
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826635
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидNickDeeВинда не умеет запускать батники как сервисы.Ну так sc.exe из RKit'a ей в помощь.

Создай батник, который будет делать что-то типа такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
set firebird = FB_nnn 
sc query | findstr /i /r /c:'^FB_nnn' 
if errorlevel 1 (
  sc create FB_nnn
)
sc start FB_nnn.

Добавь его в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Потренируйся, короче :-)

Это тоже не сработает. Нужно логиниться. И при log-off всё отвалится.
Только сервисы. Как воркэраунд подойдёт написание exe-шника :)
ТаблоидNickDeeТак что твоё решение не для продакшена.У тебя в продакшене, на одном хосте, фигачат сразу несколько ФБ-инстансов, причём они не просто "слушают", а еще и работают - так ведь ?
Я думаю что когда у FB будет возможность поднимать инстансы как я писал тут 16949789 , то их начнут поднимать, в том числе и я.
Сейчас же это делают единицы, кому очень-очень надо, и когда они не прочь перетереть тонкости с пацанами с sql.ru :)
У меня есть система (сервер приложений) с подключением к трём базам, на 2.1. Им всем приходится уживаться в одной архитектуре и с одинаковым размером кэша. Но я бы потюнил, если без мазохизма.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826651
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeИм всем приходится уживаться в одной архитектуре и с одинаковым размером
кэша.
Только потому, что ты не знаешь как назначить каждой БД отдельный размер кэша?.. Ню-ню...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826711
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovNickDeeИм всем приходится уживаться в одной архитектуре и с одинаковым размером
кэша.
Только потому, что ты не знаешь как назначить каждой БД отдельный размер кэша?.. Ню-ню...
Хочешь сказать что это работает? Т.е. если я сейчас разберусь как это устроено и прикручу у себя, то там всё будет "чики-пуки"? :) Я вот интуитивно не уверен. Где-нибудь какая-нибудь фигня вылезет, которую чтобы исправить, нужно будет в очередной раз доказывать что это фигня.
Но думаю там что-то совсем не рабочее, и быстро не исправимое, раз я этим функционалом не воспользовался (хотя знал что вроде можно как-то). Но можно конечно проверить :)
Есть линк на доку?
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826722
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeDimitry Sibiryakovпропущено...

Только потому, что ты не знаешь как назначить каждой БД отдельный размер кэша?.. Ню-ню...
Хочешь сказать что это работает? Т.е. если я сейчас разберусь как это устроено и прикручу у себя, то там всё будет "чики-пуки"? :) Я вот интуитивно не уверен. Где-нибудь какая-нибудь фигня вылезет, которую чтобы исправить, нужно будет в очередной раз доказывать что это фигня.
Но думаю там что-то совсем не рабочее, и быстро не исправимое, раз я этим функционалом не воспользовался (хотя знал что вроде можно как-то). Но можно конечно проверить :)
Есть линк на доку?

gfix -help
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826761
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeЯ вот интуитивно не уверен.Это пи****, а пи**** мы не лечим.
NickDeeЕсть линк на доку?gfix на фсё.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826771
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastorNickDeeпропущено...
Хочешь сказать что это работает? Т.е. если я сейчас разберусь как это устроено и прикручу у себя, то там всё будет "чики-пуки"? :) Я вот интуитивно не уверен. Где-нибудь какая-нибудь фигня вылезет, которую чтобы исправить, нужно будет в очередной раз доказывать что это фигня.
Но думаю там что-то совсем не рабочее, и быстро не исправимое, раз я этим функционалом не воспользовался (хотя знал что вроде можно как-то). Но можно конечно проверить :)
Есть линк на доку?

gfix -help

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
invalid switch -help
please retry, specifying an option
plausible options are:
        -activate       activate shadow file for database usage
        -attach         shutdown new database attachments
        -buffers        set page buffers <n>
        -commit         commit transaction <tr / all>
        -cache          shutdown cache manager
        -full           validate record fragments (-v)
        -force          force database shutdown
        -fetch_password fetch_password from file
        -housekeeping   set sweep interval <n>
        -ignore         ignore checksum errors
        -kill           kill all unavailable shadow files
        -list           show limbo transactions
        -mend           prepare corrupt database for backup
        -mode           read_only or read_write
        -no_update      read-only validation (-v)
        -online         database online <single / multi / normal>
        -prompt         prompt for commit/rollback (-l)
        -password       default password
        -rollback       rollback transaction <tr / all>
        -sql_dialect    set database dialect n
        -sweep          force garbage collection
        -shut           shutdown <full / single / multi>
        -two_phase      perform automated two-phase recovery
        -tran           shutdown transaction startup
        -trusted        use trusted authentication
        -use            use full or reserve space for versions
        -user           default user name
        -validate       validate database structure
        -write          write synchronously or asynchronously
        -z              print software version number

    qualifiers show the major option in parenthesis

Как использовать не написано, но опыт подсказывает что как-то так:
Код: plaintext
gfix.exe data.fdb -user SYSDBA -password masterkey -buffers 20480
т.е. ошибки я не получил, подтверждения что всё ok тоже. IBExpert показывает что значение подтянулось.
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826792
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, вот критичные неудобства:
1. Чтобы посмотреть сколько буферов, нужно запускать gstat (для двух БД уже не удобно (особенно на чужом компе), а помнить значения - не упомнишь).
2. При переходе с SS на CS (а у меня был такой переход у заказчика), нужно опять править gfix-ом, сначала посмотрев gstat-ом.
3. Ну и использовать не удобно. Я создаю третью БД по запросу пользователя (минут 10 может создаваться), т.е. мне нужно в коде и создать бд и установить у неё нужное кол-во буферов. Чтобы установить нужное кол-во буферов нужно их хранить в своём конфиге (в коде этому точно не место), т.е. получается некоторое усложнение.

Т.е. писать бы я так не стал. Это неподдерживаемо.

И если бы я всё закодил по-фэншую, с размерами кэша для каждой БД в своём конфиге (в мегабайтах естественно, а не в страницах), и научился бы корректно применять их к базам при старте если там вдруг что-то другое, то при переходе с SS на CS мне нужно было бы только заменить 3 значения в своём конфиге. И почему-то я всё-таки не пошёл по этому простому и логичному для меня пути. Короче не знаю уже даже :)
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826807
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeАга, вот критичные неудобства:
1. Чтобы посмотреть сколько буферов, нужно запускать gstat (для двух БД уже не удобно (особенно на чужом компе), а помнить значения - не упомнишь).Что тут неудобного ? и тем паче - "критичного" ?
Тыркай в батник типа такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
@echo off
cls
set fdb_pattern=t*.fdb
for /r %%i in (%fdb_pattern%) do (
  echo|set /p=%%i
  gstat -h %%i | findstr /i /c:buffers
)
- и получай себе:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
C:\1INSTALL\FIREBIRD\FB25SNAP\T0.fdb    Page buffers            5000
C:\1INSTALL\FIREBIRD\FB25SNAP\t1.fdb    Page buffers            5001
C:\1INSTALL\FIREBIRD\FB25SNAP\t2.fdb    Page buffers            5002
C:\1INSTALL\FIREBIRD\FB25SNAP\t3.fdb    Page buffers            5003
C:\1INSTALL\FIREBIRD\FB25SNAP\ts.fdb    Page buffers            0
C:\1INSTALL\FIREBIRD\FB25SNAP\TTX.FDB   Page buffers            0
C:\1INSTALL\FIREBIRD\FB25SNAP\bin\t.fdb Page buffers            0

NickDee2. При переходе с SS на CS (а у меня был такой переход у заказчика), нужно опять править gfix-ом, сначала посмотрев gstat-ом.я не пойму: там у тебя сколько баз вертится, 100 штук ? Какая-то вселенская лень тебя одолела, кажись...

NickDee3. Ну и использовать не удобно. Я создаю третью БД по запросу пользователя (минут 10 может создаваться), т.е. мне нужно в коде и создать бд и установить у неё нужное кол-во буферов. Чтобы установить нужное кол-во буферов нужно их хранить в своём конфиге (в коде этому точно не место), т.е. получается некоторое усложнение.Если ты собираешься юзать базу с не-дефолтным кол-вом буферов, то откуда их взять, из какого астрала ? Где-то же они должны храниться или нет ?

NickDeeпри переходе с SS на CS мне нужно было бы только заменить 3 значения в своём конфиге.Про buffers понятно. Какие еще два ?
...
Рейтинг: 0 / 0
Оптимизированные конфиги для Firebird
    #38826826
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидNickDeeАга, вот критичные неудобства:
1. Чтобы посмотреть сколько буферов, нужно запускать gstat (для двух БД уже не удобно (особенно на чужом компе), а помнить значения - не упомнишь).Что тут неудобного ? и тем паче - "критичного" ?
Тыркай в батник типа такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
@echo off
cls
set fdb_pattern=t*.fdb
for /r %%i in (%fdb_pattern%) do (
  echo|set /p=%%i
  gstat -h %%i | findstr /i /c:buffers
)

Ну вот чего-то не пришла мне такая мысль :) Возможно просто потому что нет чёрного пояса по написанию батников :)
Хотя не так давно написал вот такой хитрый батник:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
@set /p XServerId=<%~dp0Server.Id
@set XSvcName=X.Svc-%XServerId%

net stop %XSvcName%
%~dp0InstSvc.exe uninstall %XSvcName%
%~dp0InstSvc.exe install %XSvcName% X.Server.exe
net start %XSvcName%
... по шпаргалкам из инета :)

ТаблоидNickDee2. При переходе с SS на CS (а у меня был такой переход у заказчика), нужно опять править gfix-ом, сначала посмотрев gstat-ом.я не пойму: там у тебя сколько баз вертится, 100 штук ? Какая-то вселенская лень тебя одолела, кажись...
Про лень - есть какая-то фигня с этим связанная. Иногда понимаешь что если криво напишешь, то тебя заказчики будут отвлекать, и тут находит такая страшная лень и говорит: "мне лень на них отвлекаться, пиши сразу нормально", и я пишу сразу нормально :)

ТаблоидNickDee3. Ну и использовать не удобно. Я создаю третью БД по запросу пользователя (минут 10 может создаваться), т.е. мне нужно в коде и создать бд и установить у неё нужное кол-во буферов. Чтобы установить нужное кол-во буферов нужно их хранить в своём конфиге (в коде этому точно не место), т.е. получается некоторое усложнение.Если ты собираешься юзать базу с не-дефолтным кол-вом буферов, то откуда их взять, из какого астрала ? Где-то же они должны храниться или нет ?

В тройке это уже не нужно будет, сам понимаешь :)

ТаблоидNickDeeпри переходе с SS на CS мне нужно было бы только заменить 3 значения в своём конфиге.Про buffers понятно. Какие еще два ?
У каждой БД свой buffers. У рабочей(CS) на 3/4 оперативки делённое на кол-во коннектов в пуле. У второй можно на 10 МБ сделать. У третьей - мегов 200, чтобы индексы создавались быстро (там только создание БД, перекачка нужных данных и создание индексов).

Чёт я тебе так подробно расписываю... :)
...
Рейтинг: 0 / 0
67 сообщений из 67, показаны все 3 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Оптимизированные конфиги для Firebird
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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