powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Оптимизированные конфиги для Firebird
17 сообщений из 67, страница 3 из 3
Оптимизированные конфиги для 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
17 сообщений из 67, страница 3 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Оптимизированные конфиги для Firebird
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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