Kapcsolódó információk:
Paraméterezési útmutatók

Dokumentumról

Ezen dokumentum olyan beállításokra hivatkozik, amelyek elvégzéséhez komolyabb, vagy esetenként rendszergazdai ismeretek, és jogosultság szükséges.

Bevezetés


A SUP® Integrált Számviteli Rendszer a kliens-szerver architektúrájú, alapvetően hálózati működési környezetre van tervezve.

Az adatokat SQL adatbázisban tárolja, melyhez a Firebird SQL 3.0 verziójú adatbázis szerver, helyi hálózaton való elérésére van szükség.

Rövid ismertető a Firebird adatbázisról: https://www.firebirdnews.org/docs/fb2min_hu.html

Az adatbázis szerver adminisztratív beállítása nem igényelnek speciális konfigurációt, így nem kizárt más rendszerekkel való együttműködése.
Ennek ellenére NEM JAVASOLJUK az adatbázisok más rendszer által használt adatbázis motorra való telepítését.
Ilyen esetben az adatok biztonságáért, és a rendszer működőképességéért, semmilyen felelősséget nem vállalunk.

FireBird 2.1, FireBird 2.5 és a FireBird 3.0 ugyanazon az operációs rendszeren belül korlátozottan és csak speciális esetben használható.
Ilyen környzetet kizárólag a helyi sajátosságokat ismerő rendszergazda tud készíteni. A QSoft Kft csak tanácsadással tud segíteni egy többverziót futtató rendszer beüzemeléséhez.

Megfontolandó

  • Az adatbázisszerverként használt gép lehetőleg csak adatbázis-szerver, esetleg file-szerver legyen. Főként a print-szerver funkciót ne az adatbázis-szerver lássa el.
  • Az adatbázisokat lehetőleg ne a rendszermeghajtón tároljuk, és gondoskodjunk a rendszeres (lehetőleg automatizált) mentésükről.
  • A mai hálózatok ajánlott protokollja a TCP/IP. Az Firebird is ezzel dolgozik leghatékonyabban. A fölösleges (NetBEUI, IPX/SPX) protokollokat a gépekről (szerverről) el kell távolítani, mert ezek még használaton kívül is szükségtelen hálózati forgalmat generálnak.
  • Nagy adatbázisok, vagy sok kiszolgálandó munkahely esetén kimondottan szerverekbe való (pl.: SAS) merevlemezekkel és hozzájuk való vezérlőkártyával (true RAID), nagyobb sebességet lehet elérni, mint asztali PC alkatrészekből kialakított rendszerrel.
  • A szerver gép \\<FileServer>\QSoft\Install.dsk könyvtárába a Firebird 2.5 telepítő készletet (FB30_QSoft_Setup.exe) ajánlott bemásolni a későbbi munkahely telepítések, újratelepítések megkönnyítése miatt. Amennyiben szoftver CD nem áll rendelkezésre, a szerver gépen, egy munkahely telepítéséhez, újratelepítéséhez szükséges szoftverek rendelkezésre álljanak.

  • Az adatbázisszerver processz jó teljesítményéhez elegendő memóriát és gyors háttértár elérést kell biztosítani.
  • A SUP rendszer gyors működéséhez az alkalmazást futtató gép és az adatbázisszerver között kellő sávszélességű hálózati kommunikációt biztosítani kell.
    Pl.: egy távoli telephelyről az adatbázisszerver elérése (VPN-en keresztül) ún. vastag-kliens módban a használhatatlanság határára lassíthatja a rendszer működését.

Adatbázis file-ok helye

Összetettebb rendszer esetén, vagy szigorúbb biztonsági házirend használatakor az adatbázis file-okat akár teljesen el lehet rejteni a felhasználók elől (nem szükséges a lenti struktúrába tárolni).

A SUP rendszernek üzem közben nem szükséges file szintű hozzáférés az adatbázisokhoz

Minden esetben fontos, hogy a szerveren az adatbázis szerver folyamatot (Firebird SQL) futtató felhasználónak teljes hozzáférése legyen az adatbázis file-okhoz és az azokat tartalmazó mappához (írás, olvasás, létrehozás, spec esetben törlés).

SUP szerver oldali könyvtárszerkezete és annak tartalma

SUP® Integrált Számviteli Rendszer és moduljai működtetéséhez szükséges szerver oldali alkönyvtárszerkezet létrehozása, amelyhez szükséges a File-szerveren egy pl. QSoft nevű megosztás létrehozása, melynek tartalmát a következőekben részletezzük. A könyvtárszerkezetet a SUP_Full Setup létrehozza.

Ezt a könyvtárat - mint megosztást is - és alkönyvtárait a felhasználóknak, klienseknek teljes hozzáféréssel el kell tudni érniük
(kivéve a DB könyvtárat).

Javasolt megosztási név: QSOFT

\QSoftEbből nyílnak a további alkönyvtárak, melyek valamilyen szempontból a QSoft Kft. által készített programokkal vannak kapcsolatban.
 
\QSoft\SUPEbből nyílnak a további alkönyvtárak, melyek a SUP® rendszerrel vannak kapcsolatban
(Terminológia: alapkönyvtár - SUP home directory ).
\QSoft\SUP\BINEbbe az alkönyvtárba kell elhelyezni a SUP.EXE file(-t) és a SUP® rendszerrel kapcsolatos további EXE, LNK, file-okat.
\QSoft\SUP\DBEgyszerűbb környezet esetén ide lehet tenni az Firebird SQL adatbázis (FDB) file-okat.
A SUP rendszernek (és ezáltal a felhasználóknak) nincs szüksége file-system szintű hozzáférésre az adatbázis file-okhoz
\QSoft\SUP\SysDataItt a konfigurációs file-ok, valamint a napló (LOG) file-ok kaptak helyet.
\QSoft\SUP\UpdateIde kell bemásolni a rendszerkövetés telepítő file-(oka)t, illetve ebbe a könyvtárba tölti le az Internetről a SUP automatikusan a rendszerkövetést.
\QSoft\SUP\DocAz elektronikus formában (PDF) tárolt dokumentáció helye.
\QSoft\UTILEz az alkönyvtár a kapcsolódó segédprogramok pl.: 7ZIP.EXE helye.
\QSoft\Install.dsk

A hálózatos telepítés esetén az indító ikonokat célszerű ide másolni.

Ha a Firebird SQL telepítő készlete felmásolásra kerül, ebbe az alkönyvtárba ajánlott tenni.
Megjegyzés: hálózati telepítés esetén célszerű a file-szerverre felmásolni az Firebird telepítő készletét, mert az nagymértékben könnyíti a kliensek beállítását..

Szerver modellek

Általánosságban a SuperClassic változat telepítését javasoljuk, a QSoft által adott telepítő (FB30_QSoft_Setup.exe) alapból ezt telepíti

A szerver modell kiválasztása a firebird.conf  konfigurációs fájl, ServerMode paraméter módosításával lehetséges.

A választott szerver modell hatással van az erőforrás kihasználásra (memória, cache kezelés, szálkezelés) és a lock-olásra
További információ az adott témával foglalkozó Firebird szerver modellek című cikkben, vagy a Firebird SQL vagy a firebirdsql.org weblapon:

Telepítés

Telepítő készlet

Windows-os rendszerekhez elsődlegesen a QSoft Kft. által adott telepítő használatát javasoljuk.
Linuxos rendszerhez pedig elsősorban a disztribúciós csomagokból beszerzett telepítőt.használatát javasoljuk.
MacOSX rendszeren jelenleg semmilyen gyakorlati tapasztalattal nem rendelkezünk sem a telepítésről, sem a használatról.

Amennyiben valamilyen helyi policy, vagy rendszergazdai megfontolás mégis a hivatalos telepítőcsomagok használatát teszi szükségessé, akkor a Firebird SQL (www.firebirdsql.org) honlapjáról is eléhetőek a telepítőcsomagok
A letöltésnél a Firebird 3.0 verziójú adatbázis szerver telepítőkészleteiből vűálasszunk.
32bit-es operációs rendszer esetén 32bit-es, 64bit-es operációs rendszer esetén 64bit-es Firebird SQL telepítés szükséges!

A megfelelő telepítőkészlet kiválasztásához előbb olvassa végig ezt a dokumentumot.

Windows környezet

A QSoft Kft. saját telepítőt ad ki, mellyel a telepítés egyszerűen elvégezhető, megtalálható a SUP A016 telepítő CD-n, vagy letölthető a https://dl.sup.hu/fb3qssetup

Linux környezet 

Az adatbáziskezelőt a Linux csomagkezelőből egyszerűen lehet telepíteni. A telepítés után célszerű a QSoft Kft. által adott konfigurációt file-t is használatba venni.

 

Mentés

Automatizált

Windows és Linux szerver esetén egyaránt a QSoft Kft által fejlesztett, ütemezhető alkalmazással megoldható (így a mentés a SUP által visszatölthető).

Dokumentáció: Adatbázisok automatizált mentése - QsBackupFdbService

Kézi mentés

  • Felhasználók: SUP programból, jogosultság alapján, feltétel a kliens gépeken gbak.exe telepítve legyen, részletes leírás található a "Kliens telepítési útmutatóban".
    (Terminálszerveres környezetben egyedi beállítások lehetnek szükségesek.)
  • Rendszergazda: SUP-ból, szerveren, mint a felhasználók
  • Rendszergazda: Saját scriptből (gbak vagy nbackup). Komolyab hozzáértést és fokozott ovatosságot igényel az adatok biztonsága végett.
    Ilyen igény esetén a cég rendszergazdája vegye fel a kapcsolatot a QSoft Kft. ügyfélszolgálataával.
  • Rendszergazda: File szinten. Nem javasolt. De ha mégis, akkor a mentés idejére, adatbiztonsági okokból célszerű a FireBird szervert leállítani.

 

Az adatbázis file-ok filesystem szintű mentése megoldható ugyan, de NEM javasolt, mert adatvesztéshez vezethet.

ld.: Firebird FAQ

Generally, it is safe to copy the database file. But, be cafeful:

If you copy it when Firebird server is shut down, there shouldn't be any problem, it's just like any other file on the system. Same applies for databases with no users connected.

Copying database file while it's in use is a bad idea. As Firebird might write new transactions during the copy process, your copy will most probably get corrupt. It's always better to do backup and subsequent restore.

If backup/restore is too slow for you, or you want to use some 3rd party backup tool that only supports file-copy, you can solve the problem with Firebird's nBackup tool:

- lock the database file with nbackup
- copy the file
- unlock it

Locking the database is this way does not prevent database from functioning. All transactions are written to a separate place, and once you unlock the database, they get merged into the main file.

 

Hibakeresés

Rendszer teljesítményének ellenőrzése

Telepítés (SUP rendszer bekonfigurálása) után, rendelkezésre áll egy DEMO adatbázis, amelyen lehet ellenőrizni a működőképességet, és a teljesítményt.

A SUP rendszerbe való belépést (felhasználó: "DEMO", jelszó mező üresen marad) követően, a Szerviz | Technikai funkciók | Adatbázis sebességteszt menüpontban.


Ezek egy átlagos (kis terheltségű) rendszer minőségi paraméterei.

 

Tűzfal

Az operációs rendszer tűzfalán a kliensek részére engedélyezni kell a Firebird SQL Server által használt port(ok) elérését. Részletesen lásd itt.
Alapértelmezésben az adatbázis motor a 3050-es port-ot használja, amennyiben a firebird.conf-ban (ld. később) beállítottuk a RemoteAuxPort változót, akkor értelem szerűen az ott beállított port elérését is biztosítani kell minden kliens számára.

Lassú SUP indulás

 Megjegyzés

Egyes esetekben a 3050-es port mellett alkalmazás alapú tűzfal szabályt szükséges definiálni, így az adatbázis szerver futásidőben nyitott (dinamikus) portjaihoz is lehetséges a kapcsolódás. Dokumentáció: Lassú indítás probléma

 

Firebird Szerver finomhangolása

 -- Az  alábbi szekció jelenleg még nincs FireBird 3.0 adatbázis szerver verzióhoz ellenőrizve --

Mielőtt az adatbázis szerver paraméterezése megtörténik, - tapasztalataink alapján - előbb  a szerver erőforrásait, software és hardware komponenseit javasolt megvizsgálni, ugyanis a sebességproblémák döntő hányadát a rendelkezésre álló erőforrások szűk keresztmetszete okozza.

Konfigurációs file

Az Firebird 3 Server konfigurációs paraméterei a firebird.conf elnevezésű konfigurációs fájlban találhatók,
illetve a QSoft Kft. telepítési irányelvei szerint telepített példány esetén, az include-olt firebird-qsoft.conf file-ban
(az include config file-ban beállított értékek felülírják a normál konfigurációs file értékeit)

  • Windows környezetben pl. a C:\Program Files\Firebird30\ könyvtárban.
  • Linuxos környezetben (pl. Debian) az /etc/firebird/3.0/ könyvtárban.

A # jellel kezdődő sorok megjegyzésként funkcionálnak. Egy adott beállítás (sor) érvényteleníthető a sor elejére tett # jellel.

Az új beállítások csak a Firebird szerver újraindítása után lesznek aktívak.

 

Releváns paraméterek

DefaultDbCachePages

Leírás:

A DefaultDbCachePages paraméter szabályozza, hogy egy kliens hány lapnyi cache memóriát kapjon adatbázis kapcsolatonként (egy SUP példány két adatbázis kapcsolatot nyit a szerveren).
Fontos, hogy, ha az összes munkahely felcsatlakozik, akkor is a fizikai memóriában dolgozzon a szerver számítógép operációs rendszere, és a cache-ben tárolt adatokat nehogy elkezdje kilapozni a virtuális memóriába.

Alapérték:

DefaultDbCachePages = 2048

Javasolt beállítás:

DefaultDbCachePages = 4096

A SUP adatbázisok 4096 byte méretű lapokkal dolgoznak, így a 2*4096 lapnyi cache 32 MB fizikai memóriát igényel kliensenként ( 2 * 4096 * 4096 / 1024 kB) !

Megjegyzés: az IbPhoenix szerint semmiképp nem célszerű 10000 fölé vinni. Általában 4096-ra szoktuk állítani, vagy nagy rekordszámú adatbázis esetén ennek a duplájára.

DeadlockTimeout

Leírás:

Ennyi másodperc után nézi meg, hogy a feloldatlan "lock" deadlock-e? Default értéke 10.

Alapérték:

DeadlockTimeout = 10

Javasolt beállítás:

DeadlockTimeout = 10

TempDirectories

Leírás:

Ezt a könyvtárat használja a szerver az ideiglenes file-ok tárolására. Megadható a felhasználható tármennyiség. Több bejegyzés is felsorolható, soronként egy. A sorrend számít, mert a sorrend alapján használja fel a tármennyiséget.

Alapérték:

Nincs beállítva, így a operációs rendszer temp könyvtárát használja ( UNIX rendszereken a /tmp , Windows-on %TEMP%.)

Javasolt beállítás:

Nincs konkrét javaslat, de fontos, hogy a temp-ként használt könyvtárban (meghajtón) legyen elég hely (pár GB), ha betelik akkor az adatbázis szerver hibával leállhat.

ConnectionTimeout

Leírás:

Az itt megadott idő letelte után a kapcsolatot a kliensekkel megszakítottnak tekinti. Alapértelmezés 180 sec.

Alapérték:

ConnectionTimeout = 180

Javasolt beállítás:

ConnectionTimeout = 180

CpuAffinityMask – csak Windows-on FireBird Superserver esetén

Leírás:

Több processzor (szál) esetén a FireBird Superserver változat optimális működése végett az alábbi beállítást célszerű elvégezni

Alapérték:

CpuAffinityMask = 1 (Csak az első processzort használja)

Javasolt beállítás:

Egy olyan CPU hozzárendelése, melynek alacsony a kihasználtsága

CpuAffinityMask = 4 (Csak a harmadik processzort használja)

Megjegyzés (kiemelve a firebird.conf-ból):

# 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 1.
#
# Type: integer
#
#CpuAffinityMask = 1

RemoteAuxPort

Leírás:

Az itt megadott portot használja FireBird kiegészítő kommunikációhoz. Használata a SUP automatikus cache frissítés működésképtelensége, vagy a lassú bejelentkezés esetén lehet szükséges.

Alapérték:

RemoteAuxPort = 0

Javasolt beállítás:

Csak ha a szerver tűzfala miatt indokolt. További információ végett olvassal ezt a cikket.
RemoteAuxPort = 3060

Megjegyzés:

#
# The TCP Port Number to be used for server Event Notification
# messages.  The value of 0 (Zero) means that the server will choose
# a port number randomly.
#
# Type: integer
#
#RemoteAuxPort = 0

"Locking and shared memory" paraméterek

Leírás:

Ha az adatbázis szerver lassulásánál, a munkahelyek magas számára ( >100) gondolunk, akkor a firebird.conf file-ban lévő "Locking and shared memory parameters" szekcióban található paraméterek állításával próbálkozhatunk.
Az alapértelmezettek általában 100 kliens gépig problémamentesen működnek.
Ha mégis probléma adódik, akkor az itt található értékek megnövelésével sebességjavulás érhető el, de figyelembe kell venni, hogy ez hatással van a futás időben lefoglalt fizikai RAM területet nagyságára.

Az éppen használatban levő lock_memory (Pl.: Debial környezetben) a /usr/lib/firebird2/bin/fb_lock_print paranccsal ellenőrizhető.

Paraméterek:

# ----------------------------
# Locking and shared memory parameters

#LockMemSize = 1048576

#LockSemCount = 32

#LockGrantOrder = 1

#LockAcquireSpins = 0

#LockHashSlots = 1009

Megjegyzés: A paraméterek részletes leírása megtalálható a firebird.conf file-ban.

Sebességproblémás esetleírások

A sebességproblémák felderítéséhez, a rendszergazdáknak szóló háttéranyag: Sebességproblémák - firebird.conf

Mielőtt az adatbázis szervert átparaméterezik, tapasztalatunk alapján előbb  a szerver erőforrásait, szoftver és hardver komponenseit érdemes górcső alá venni.
A sebességproblémák döntő hányadát a rendelkezésre álló erőforrások szűk keresztmetszete okozza.

 

Függelék

Információk a Firebird SQL honlapjáról