Установка Firebird 3 Π½Π° соврСмСнныС вСрсии Linux: CentOS8 ΠΈ Ubuntu 19

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ опишСм ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ дСйствий, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ установки Π‘Π£Π‘Π” Firebird вСрсии 3.0 Π½Π° Π½ΠΎΠ²Ρ‹Π΅ дистрибутивы Linux. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ CentOS 8 ΠΈ Ubuntu 19.

Для «доставки» дистрибутива Firebird Π½Π° Ρ†Π΅Π»Π΅Π²ΡƒΡŽ систСму, Π² этом руководствС, Π²Ρ‹Π±Ρ€Π°Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ tar.gz Π°Ρ€Ρ…ΠΈΠ²Π° ΠΏΠΎ ссылкС с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (firebirdsql.org).

Для самых Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²Ρ‹Ρ… β€” сразу Π² Π±ΠΎΠΉ:

Быстрая установка

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» /etc/sysctl.conf, добавляя строку:

vm.max_map_count = 256000

БохраняСм Ρ„Π°ΠΉΠ» ΠΈ примСняСм настройку:

sudo sysctl -p /etc/sysctl.conf

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ инструкции Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ для CentOS 8 ΠΈ Ubuntu 19, Π½ΠΎ Π‘Π‘Π«Π›ΠšΠ ΠΈ ΠšΠΠ’ΠΠ›ΠžΠ“ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ссылку с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Firebird для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ дистрибутива ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ распакован дистрибутив Π² процСссС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.
На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ (ΠΌΠ°Ρ€Ρ‚ 2020) Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½ Ρ€Π΅Π»ΠΈΠ· Firebird 3.0.5 (Π²ΠΎΡ‚ ссылка Π½Π° 64-Π±ΠΈΡ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ).

CentOS 8

sudo yum -y install epel-release
sudo yum -y makecache
sudo yum -y install libicu libtommath tar
ln -s libncurses.so.5 
/usr/lib64/libncurses.so.5
ln -s libtommath.so.1 
/usr/lib64/libtommath.so.0
curl -L Π‘Π‘Π«Π›ΠšΠ|tar -zxC /tmp

Ubuntu 19

sudo apt-get -y install libncurses5 libtommath1
ln -s libtommath.so.1 
/usr/lib/x86_64-linux-gnu/libtommath.so.0
wget -O- Π‘Π‘Π«Π›ΠšΠ|tar -zxC /tmp

БобствСнно установка Π‘Π£Π‘Π” Firebird:

cd /tmp/ΠšΠΠ’ΠΠ›ΠžΠ“
sudo ./install.sh

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Π³ΠΎ слуТат эти дСйствия – Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ дальшС.

Основная Ρ‡Π°ΡΡ‚ΡŒ

НСбольшая ΠΏΡ€Π΅Π°ΠΌΠ±ΡƒΠ»Π°

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ ОБ установлСна Π² минимальном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ΠΈ настроСн доступ ΠΊ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ рСпозиториям ΠΈΠ»ΠΈ ΠΊ ΠΈΡ… Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ копиям.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρƒ читатСля Π΅ΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания ΠΎ Linux ΠΈ, Π‘Π£Π‘Π” Firebird.

ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

На сСрвСрС Π‘Π£Π‘Π” рСкомСндуСтся Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ для Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (/tmp), Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… бэкапов.

К Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ относятся lock-Ρ„Π°ΠΉΠ»Ρ‹, Ρ„Π°ΠΉΠ»Ρ‹ сортировок, Ρ„Π°ΠΉΠ»Ρ‹ Β«ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΒ» Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† (GTT) ΠΈ Ρ‚Π°Π±Π»ΠΈΡ† ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. Π€Π°ΠΉΠ»Ρ‹ сортировок ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† располоТСны Π² /tmp, Ρ„Π°ΠΉΠ»Ρ‹ mon$-Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ lock-Ρ„Π°ΠΉΠ»Ρ‹ – Π² /tmp/firebird.

Π€Π°ΠΉΠ»Ρ‹ сортировок Β«ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡΒ» (unlink) сразу послС создания, поэтому ΠΈΡ… нСльзя Β«ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒΒ» Π² листингС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² спискС описатСлСй (handles) процСсса (ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊΠ°ΠΊ deleted):

sudo ls -lhF /proc/`pgrep firebird`/fd

Π’ листингС псСвдокаталога /proc/…/fd/ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ симлинки, Π° Ρ„Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„Π°ΠΉΠ»Π΅ Π΄Π°Ρ‘Ρ‚:

sudo stat -L /proc/`pgrep firebird`/fd/ΠΠžΠœΠ•Π 

Π³Π΄Π΅ ΠΠžΠœΠ•Π  – ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ (дСскриптор) ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°.

ВмСсто Π²Ρ‹Π·ΠΎΠ²Π° Β«pgrep исполняСмый-Ρ„Π°ΠΉΠ»Β» ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅Π³ΠΎ процСсса.

Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ большими, поэтому для /tmp рСкомСндуСтся Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 20-30 Π“Π‘. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»ΠΎΠ² сортировок зависит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ ΠΎΠ±ΡŠΡ‘ΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ…, явно ΠΈΠ»ΠΈ нСявно сортируСмых Π² запросС ΠΈ ΠΎΠ΄ΠΈΠ½-СдинствСнный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Β«ΡΠΎΠ·Π΄Π°Ρ‚ΡŒΒ» Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

Π Π°Π·Π΄Π΅Π» для Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ всСх Π±Π°Π·. плюс, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, копию Ρ„Π°ΠΉΠ»Π° самой большой Π±Π°Π·Ρ‹. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ рост Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π°Π· Π² пСрспСктивС Π½Π° нСсколько Π»Π΅Ρ‚ Π²ΠΏΠ΅Ρ€Ρ‘Π΄.

Π Π°Π·Π΄Π΅Π» Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… бэкапов Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π°Ρ€Ρ…ΠΈΠ²Ρƒ бэкапов всСх Π±Π°Π· плюс бэкап самой большой Π±Π°Π·Ρ‹. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π±Ρ‹Π»ΠΎ ΠΈ мСсто для восстановлСния самой большой Π±Π°Π·Ρ‹. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ рост бэкапов ΠΈ Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² бэкапов Π² пСрспСктивС Π½Π° нСсколько Π»Π΅Ρ‚ Π²ΠΏΠ΅Ρ€Ρ‘Π΄.

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°

Π‘Π΅Ρ€Π²Π΅Ρ€ Π‘Π£Π‘Π” Firebird 3.0 динамичСски выдСляСт ΠΈ освобоТдаСт ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π΅Ρ‘ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. НапримСр, послС Π΅Π΄ΠΈΠ½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚ супСрсСрвСра большого числа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ….

Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ памяти ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ систСмный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ vm.max_map_count, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – 64K. РСкомСндуСтся ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‡Π΅Ρ‚Π²Π΅Ρ€ΠΎ:

sudo sysctl vm.max_map_count=256000

Π§Ρ‚ΠΎΠ±Ρ‹ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ систСмы, добавляСм Π² Ρ„Π°ΠΉΠ» /etc/sysctl.conf строчку:

vm.max_map_count = 256000

Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»Π° понятна ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° измСнСния этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. МоТно сначала ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ сохранённыС Π² Π½Ρ‘ΠΌ установки:

sudo sysctl -p /etc/sysctl.conf

Установка Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π‘Π£Π‘Π” Firebird 3.0 Linux зависят ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ncurses (libncurses.so.5), ICU (Π±Π΅Π· привязки ΠΊ вСрсии ΠΈ Π±Π΅Π· отобраТСния Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ldd) ΠΈ tommath (libtommath.so.0). Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ распаковки Π°Ρ€Ρ…ΠΈΠ²Π° сборки ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ gzip, tar ΠΈ curl ΠΈΠ»ΠΈ wget. ВСрсии ICU, gzip, tar ΠΈ curl/wget – нСсущСствСнны.

Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ зависит ΠΎΡ‚ систСмы ΠΈ ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² систСмС ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°, поэтому рассмотрим ΠΈΡ… ΠΏΠΎΠΎΡ‡Π΅Ρ€Ρ‘Π΄Π½ΠΎ.

CentOS 8

CentOS 8 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ – dnf ΠΈ ΠΎΠ½ ΠΆΠ΅ Β«ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΒ» вызываСтся ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ yum. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ для Π½Π°ΡˆΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π½Π΅Ρ‚ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ – Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π±ΡƒΠ΄Π΅Ρ‚ yum.

ОбновляСм кэш ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…: sudo yum makecache

ΠŸΠ°ΠΊΠ΅Ρ‚ libtomath находится Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ E(xtra)P(ackages for)E(nterprise)L(inux) Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, поэтому провСряСм, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡƒΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½:

yum -C repolist

ΠžΠΏΡ†ΠΈΡ Β«Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· кэша» (-C ΠΈΠ»ΠΈ --cache-only) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ускорив Ρ€Π°Π±ΠΎΡ‚Ρƒ yum. Если Π² спискС Π½Π΅Ρ‚ epel-рСпозитория – устанавливаСм Π΅Π³ΠΎ ΠΈ обновляСм кэш ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…:

sudo yum install epel-release &&
sudo yum makecache

ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌ запросы, ΠΏΡ€ΠΈ нСобходимости свСряя значСния pgp-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ с ΡƒΠΆΠ΅ извСстными ΠΈΠ· Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ источника.

Если Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΌΠ΅Ρ‚Π°ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ рСпозитория с https-рСсурсов, Ρ‚ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» /etc/yum.repos.d/epel.repo, замСняя https:// Π½Π° http:// ΠΈ повторяСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ обновлСния кэша.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ статус Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (ΠΊΠΎΠΌΠ°Π½Π΄Π° слоТСна, Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½ 32-разрядный ΠΏΠ°ΠΊΠ΅Ρ‚):

yum -C list 
ncurses libicu libtommath 
gzip tar curl wget |
grep -v i686
Installed Packages
curl.x86_64 7.61.1-11.el8 @anaconda
gzip.x86_64 1.9-9.el8 @anaconda
ncurses.x86_64 6.1-7.20180224.el8 @anaconda
Available Packages
libicu.x86_64 60.3-1.el8 BaseOS
libtommath.x86_64 1.1.0-1.el8 epel
tar.x86_64 2:1.30-4.el8 BaseOS
wget.x86_64 1.19.5-8.el8_1.1 AppStream

Π’ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ curl, gzip ΠΈ ncurses Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² псСвдорСпозитории установщика (anaconda), Π° tar – ΠΈΡΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΈΠ· минимальной установки систСмы. ΠœΠ°ΠΆΠΎΡ€Π½Ρ‹Π΅ вСрсии libncurses ΠΈ libtommath большС, Ρ‡Π΅ΠΌ трСбуСтся: 6 ΠΈ 1 вмСсто 5 ΠΈ 0, соотвСтствСнно. Если ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ установлСн ΠΈ доступСн – для Π½Π΅Π³ΠΎ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. УстанавливаСм Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹:

sudo yum install 
libicu libtommath tar

Ubuntu 19

Для управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ apt, apt‑get ΠΈ apt‑cache. ΠŸΠ΅Ρ€Π²Π°Ρ рассчитана Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π° Π΄Π²Π΅ послСдниС – Π½Π° использованиС Π² скриптах. ИмСна ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π²Π΅Ρ€ΡΠΈΡŽ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ статус Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (ΠΊΠΎΠΌΠ°Π½Π΄Π° слоТСна, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° сокращён ΠΈ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Ρ‹ 32-разрядныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹):

apt list libncurses? libicu?? libtommath? 
gzip tar curl wget |
grep -v i386
curl 7.65.3-1
gzip 1.10-0 [upgradable…]
libicu63 63.2-2 [installed]
libncurses5 6.1
libncurses6 6.1 [installed,automatic]
libtommath1 1.1.0
tar 1.30 [installed]
wget 1.20.3 [installed]

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках ΡƒΠΊΠ°Π·Π°Π½ΠΎ installed/upgradable – установлСны. ДоступСн, Π½ΠΎ Π½Π΅ установлСн ncurses5, вмСсто curl установлСн wget. УстанавливаСм Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹:

sudo apt‑get install 
libncurses5 libtommath1

БозданиС симлинков

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ libtommath.so.1 ΠΈ libncurses.so.6 ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ совмСстимы с libtommath.so.0 ΠΈ libncurses.so.5, Ρ‚ΠΎ для Firebird достаточно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ симлинки Π½Π° ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ вСрсии Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Находим libtommath.so.1 (libncurses.so.? располоТСны Π² этом ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ):

find /usr -name libtommath.so.1

CentOS:

/usr/lib64/libtommath.so.1

Ubuntu:

/usr/lib/x86_64-linux-gnu/libtommath.so.1

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ симлинки.

CentOS:

sudo ln -s libtommath.so.1 
/usr/lib64/libtommath.so.0
sudo ln -s libncurses.so.6 
/usr/lib64/libncurses.so.5

Ubuntu:

sudo ln -s libtommath.so.1 
/usr/lib/x86_64-linux-gnu/libtommath.so.0

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (ΠΊΠΎΠΌΠ°Π½Π΄Π° слоТСна, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° сокращСны):

ls -lhF 
$(dirname `find /usr -name libtommath.so.1`) |
grep "lib(ncurses|tommath).so."

CentOS:

libncurses.so.5 -> libncurses.so.6*
libncurses.so.6 -> libncurses.so.6.1*
libncurses.so.6.1*
libtommath.so.0 -> libtommath.so.1*
libtommath.so.1 -> libtommath.so.1.1.0*
libtommath.so.1.1.0*

Ubuntu:

libncurses.so.5 -> libncurses.so.5.9
libncurses.so.5.9
libncurses.so.6 -> libncurses.so.6.1
libncurses.so.6.1
libtommath.so.0 -> libtommath.so.1
libtommath.so.1 -> libtommath.so.1.1.0
libtommath.so.1.1.0

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° дистрибутива Π‘Π£Π‘Π” Firebird.

На ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Firebird (firebirdsql.org) ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ΡΡ ссылки Π½Π° дистрибутивы Β«ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ…Β» выпусков (releases) ΠΈ Β«Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹Ρ…Β» сборок (snapshot build).

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ выпуски для линукса доступны Π² Π²ΠΈΠ΄Π΅ Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² (tar.gz) ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² deb/rpm, Π° сборки – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²ΠΈΠ΄Π΅ Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ². ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Β«ΠΎΠ±Ρ‰ΠΈΠΉ установщик» (generic installer ΠΈΠ· tar.gz).

Архив сборки трСбуСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ ΠΌΡ‹ совмСстим ΠΎΠ±Π° этих процСсса. Распаковка дСлаСтся Π² /tmp, URL ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ссылку Π½Π° Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΉ Π°Ρ€Ρ…ΠΈΠ².

curl:

curl -L URL | tar -zxC /tmp

wget:

wget -O– URL | tar -zxC /tmp

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ curl посылаСт Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° стандартный Π²Ρ‹Π²ΠΎΠ΄, Π½ΠΎ Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ пСрСнаправлСния ΠΈ ΠΌΡ‹ добавляСм «‑LΒ», Π° wget, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚: ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ пСрСнаправлСния, Π½ΠΎ записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„Π°ΠΉΠ» ΠΈ ΠΌΡ‹ ставим «‑O‑». Для tar ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ использованиС gzip-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° распаковка. По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ процСсса появится ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π²ΠΈΠ΄Π° Firebird‑3.0.5.33220‑0.amd64 с трСмя Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ: install.sh, buildroot.tar.gz ΠΈ manifest.txt.

Установка Firebird

Π’ Ρ…ΠΎΠ΄Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΌΡ‹ ΠΎΡ‚Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ систСмного ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° vm.max_map_count, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΈ установили Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ICU, ncurses ΠΈ tommath. УбСдились Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ вСрсий ncurses ΠΈ tommath (libncures.so.5 ΠΈ libtommath.so.0) ΠΈ создали Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ симлинки.

БобствСнно установка дСлаСтся ΠΎΡ‡Π΅Π½ΡŒ просто. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΡƒΠ΄Π° Π±Ρ‹Π» распакован Π°Ρ€Ρ…ΠΈΠ² дистрибутива Firebird, провСряСм ΠΈ, ΠΏΡ€ΠΈ нСобходимости, устанавливаСм Ρ„Π»Π°Π³ «исполняСмый» скрипту install.sh:

chmod +x install.sh

запускаСм инсталяционный скрипт:

sudo ./install.sh

Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиши Enter ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌ Π½Π°Ρ‡Π°Π»ΠΎ установки, Π° ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ запроса – Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ sysdba.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ установки автоматичСски запускаСт systemd-ΡŽΠ½ΠΈΡ‚ firebird-superserver (умалчиваСмая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Firebird 3.0). БСрвис Firebird Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для супСрсСрвСра: страничный кэш Π² 2048 страниц (Π½Π° Π±Π°Π·Ρƒ), Π±ΡƒΡ„Π΅Ρ€ сортировок Π² 64 ΠœΠ‘ (ΠΎΠ±Ρ‰ΠΈΠΉ) ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² firebird.conf:

grep -v ^# firebird.conf | grep -v ^$

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ значСния ΠΈΠ· firebird.conf Π±ΡƒΠ΄ΡƒΡ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС пСрСзапуска сСрвиса Firebird.

ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Π±ΠΎΡ€Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ основных «потрСбитСля»: страничный кэш (для Π±Π°Π·Ρ‹), Π±ΡƒΡ„Π΅Ρ€ сортировок (ΠΎΠ±Ρ‰ΠΈΠΉ) ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ, выдСлСнная сСрвСром для клиСнтских ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Π£ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ двумя – ΠΎΠ±ΡŠΡ‘ΠΌ памяти клиСнтских ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ зависит ΠΎΡ‚ количСства ΠΈ тСкста ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… запросов, ΠΈΡ… ΠΏΠ»Π°Π½ΠΎΠ² ΠΈ задСйствованных Π² запросах ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±Π°Π·Ρ‹. ΠžΡ†Π΅Π½ΠΊΠ° памяти клиСнтских ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ дСлаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эмпиричСски ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ клиСнтских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ/ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±Π°Π·Ρ‹.

Для супСрсСрвСра Π½Π° хостах с ΠΌΠ°Π»Ρ‹ΠΌ ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠΌ памяти (Π΄ΠΎ 12-16 Π“Π‘) Π½Π΅ слСдуСт Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ для страничного кэша ΠΈ Π±ΡƒΡ„Π΅Ρ€Π° сортировки Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π΅Ρ‚ΠΈ-Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΈ ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΠ° ΠžΠ—Π£.

Если количСство Π±Π°Π· Π½Π΅ фиксировано ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ – ΠΎΠ±Ρ‰ΠΈΠΉ ΠΎΠ±ΡŠΡ‘ΠΌ памяти страничного кэша слСдуСт Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° максимальноС количСство Π±Π°Π·, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π° сСрвСрС. Π Π°Π·ΠΌΠ΅Ρ€ страничного кэша задаётся Π² страницах ΠΈ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² Π±Π°ΠΉΡ‚Ρ‹.

Для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ классика трСбуСтся, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ServerMode Π² firebird.conf, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ‚Π°ΠΌ ΠΆΠ΅ страничный кэш (Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 2K), ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€ сортировок (суммарный допустимый ΠΎΠ±ΡŠΡ‘ΠΌ всСх сортировок, ΠΏΠΎΠ΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Π½Π° максимальноС количСство ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ), Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΈ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡŽΠ½ΠΈΡ‚ firebird-superserver, Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡŽΠ½ΠΈΡ‚ firebird-classic.socket.

ИспользованиС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ супСрклассик Π² Firebird 3.0 Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ особого смысла: Β«Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒΒ» – ΠΊΠ°ΠΊ Ρƒ супСрсСрвСра ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΎΠ±Ρ‰ΠΈΠΉ Π±ΡƒΡ„Π΅Ρ€ сортировок. НСт ΠΎΠ±Ρ‰Π΅Π³ΠΎ страничного кэша ΠΈ Β«ΠΏΠΎΡ‚Π΅Ρ€ΠΈΒ» Π½Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ собой Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρƒ классика.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Firebird 3.0 Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (страничный кэш, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π»ΠΎΠΊ-Ρ„Π°ΠΉΠ»Π°, Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅) ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π² databases.conf ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±Π°Π·Ρ‹. Для супСрсСрвСра ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π΄Π°Ρ‚ΡŒ малСнькоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ DefaultDbCachePages Π² firebird.conf ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ страничныС кэши Π½ΡƒΠΆΠ½Ρ‹ΠΌ Π±Π°Π·Π°ΠΌ Π² databases.conf.

Вопросы ΠΏΠΎ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π² коммСнтариях, ΠΈΠ»ΠΈ ΠΏΠΈΡˆΠΈΡ‚Π΅ письма Π½Π° наш адрСс ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ [email protected].

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com