Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
Сабж, собственно: http://ib-aid.com/ru/optimized-firebird-configuration/ Отзывы, замечания и предложения приветствуются. With best regards, Alexey Kovyazin www.ibsurgeon.com www.ibase.ru/techsupp.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2014, 21:55 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
Вытащу таки сюда то, что у мну сусеках записано было. И предлагаю затолкать туда в качестве шпоры :-) 0) Бысто вытащить все только незакомментаренные параметры конфига, без "#-мусора": Код: plaintext 1. 2. 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. Эти параметры влияют на время отвала мертвяков, их дефолтные значения могут приводить к "недоразумениям". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2014, 22:45 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
> Плюс добавить "мантру" (DS'a, кажется): размер страничного кеша д.б. равен примерно половине объема физ. памяти. Ты извини, но мы другим богам молимся :) Размер страничного кэша до 2.5 включительно на SuperServer (речь то про него?) ставить надо в 10000. Якобы есть процедуры разогрева кэша и прочая-прочая для больших значений, но эффект от такого тюнинга минимальный, а вот геморроя и тестов выше крыши. Для Classic и SuperClassic совет тем более не годится - намедни ребята из Австралии обратились с БД в 5Гб и 128Гб ОЗУ, с 80 коннектами. По этой логике, надо каждому коннекту воткнуть по 50 тысяч буферов? :) И у россиян такое видели, в Инфоклинике. На 3.0 в твоем тесте и вообще ситуация с кэшем более интересная, и эффект от разогрева виден невооруженным взглядом, но с 3.0 мы только начинаем набирать практический оптимизационный опыт - т.к. коллективных разум юзеров в плане создания проблем куда как мощнее силы предвидения разработчиков :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2014, 23:04 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
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) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2014, 23:22 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
Alexey Kovyazin, про конфиг трёшки. Как известно трёшку можно конфигурировать для каждой БД отдельно в файле databases.conf. Например вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Кстати тут возник такой вопрос: в суперсервере страничный кэш выделяется индивидуально для каждой БД? Если нет то какой будет итоговый размер страничного кэша в указанной конфигурации и будет ли кэш одной БД вытесняться в процессе работы с другой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 10:15 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, индивидуально, конечно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 10:21 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 10:29 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, маска назначается процессу целиком, все вопросы к микрософту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 11:12 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 11:23 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
dimitr> маска назначается процессу целиком, все вопросы к микрософту В каком смысле? Можно и потокам назначать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 11:25 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамВ каком смысле? Можно и потокам назначать. +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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 11:44 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
wadman> msdn Да не надо Диме МСДН цитировать, он и сам его читать умеет, благо там всего 2 функции понадобятся, AFAIU. Просто сама мысль непонятна - если из лени при наличии воркэраунда в виде двух отдельных процессов - то ОК, никаких претензий, надо так и говорить, чего стесняться-то. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 11:57 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
у нас используется SetProcessAffinityMask, про нее написал выше. Существует еще SetThreadAffinityMask, но чтобы ее использовать для SS/SC - надо знать какой поток к какой базе относится. При наличии пула потоков (а управляет им сетевой сервер, который один на все базы) это не совсем примитивно, плюс придется переустанавливать аффинити на каждый вызов АПИ (когда поток берется из пула). Я не уверен, что этот геморрой себя окупит. Ну и таки да, лично я предложил бы поднимать свой инстанс на каждую базу. Не в качестве воркэраунда, а вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 12:36 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 14:33 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
И кстати AffinityMask удобней задавать в виде ноликов и еденичек, например для 32-ядер: 00111100111111110000000000001111 и чтобы можно было написать человеко-читаемо: 0011 1100 1111 1111 0000 0000 0000 1111 00111100 11111111 00000000 00001111 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 14:42 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
NickDee, ага а кто инициатор их подъёма? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 14:43 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
NickDeeИли написать типа такого фантазии оставь себе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 14:46 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисNickDee, ага а кто инициатор их подъёма? возможно тот, кто открывает порт 3050 :) Но разработчикам лучше знать. Я просто со стороны пользователя говорю. Пользователю удобней чтобы был один инсталл и один сервис, и тюнить его он готов в рамках дозволенного разработчиками. А вот просто инсталлировать ещё один инстанс чтобы разнести две базы на разные процессоры или чтобы разделить SS и CS - это уже для многих челендж. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 14:54 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
NickDeeПользователю удобней чтобы был один инсталл и один сервис Тогда им на Оракул с его "один сервер - одна БД". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 15:38 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovNickDeeПользователю удобней чтобы был один инсталл и один сервис Тогда им на Оракул с его "один сервер - одна БД". Удобней чтобы был один инсталл и один сервис на все базы, как сейчас. И для гибкости и секюрности нужно к этому добавить возможность поднимать инстансы с собственной конфигурацией, в том числе имеющим свой порт, свой IpcName, свою архитектуру, свою систему аутентификации, свои трэйсы, свои логи и пр. Хотя может и удобней будет делать копию каталога FB для каждой такой базы, и настраивать там глобальный конфиг, регистрировать и запускать отдельный сервис, как сейчас в FB 2.5. Ведь сейчас в 2.5 если люди хотят запустить одну базу как SS, а другую как CS, то они просто молча делают копию FB, правят конфиг, инсталлируют два инстанса на разных портах и всё. Каждый кто хочет одновременно работать с разными архитектурами делает именно так. Все пользователи при первой же потребности проделывают это на раз-два, там делов то на минуту - скопировал, подправил конфиг, зарегистрировал сервис с нужными параметрами (регистрируется элементарно - нужно с firebirdsql.org скачать архив с сервером, скопировать себе install_classic.bat или install_super.bat и запустить нужный с нужным параметром). Т.е. догадается и справится каждый :) И справлялся уже не раз :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 16:52 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
NickDeeВедь сейчас в 2.5 если люди хотят запустить одну базу как SS, а другую как CS, то они просто молча делают копию FBЗачем копию ??? Если ты не знаешь, как указать листенеру свой порт, это не значит, что это не возможно и никто другой об этом не знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 17:17 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
hvladNickDeeВедь сейчас в 2.5 если люди хотят запустить одну базу как SS, а другую как CS, то они просто молча делают копию FBЗачем копию ??? Если ты не знаешь, как указать листенеру свой порт, это не значит, что это не возможно и никто другой об этом не знает. Так я и говорю что все пользователи на раз-два сумеют. Подскажи как на раз-два для дефолтной инсталляции FB 2.5 запустить три листенера: первый как SS (5000), второй как CS (5001), третий как SC (5002). Каждый со своим конфигом, естественно. И как это будет для FB3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 18:13 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
NickDee, fbserver -a -i -p 5000 fb_inet_server -a -i -p 5001 fb_inet_server -a -m -i -p 5002 если нужны свои конфиги и\или сервисы - изучай ком строку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 19:28 |
|
||
|
Оптимизированные конфиги для Firebird
|
|||
|---|---|---|---|
|
#18+
hvladизучай ком строкуЭто что ж мне теперь и доку читать??? Доку читают "неудачнеги"! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 21:04 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38825434&tid=1563155]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
206ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 323ms |

| 0 / 0 |
