Deze pagina is automatisch vertaald. Lees het Engelse origineel. English

IBSurgeon-bibliotheek

Korte Firebird-databaseprestaties-checklist

Windows

  1. Stel het energiebesparingsplan in op hoge prestaties (+20% op Windows Server 2016+)?

  2. Stel het Write-Caching-beleid voor schijven in op Write-Caching inschakelen

  3. Controleer bij RAID of de moderne driver is geïnstalleerd en RAID correct is geconfigureerd.

Linux

  1. Is Max Open Files ingesteld op 49999? Controleer dit met cat /proc/$(pgrep firebird)/limits, standaard is dit 4096, verhoog het indien nodig: stel het in in het Firebird-servicebestand met LimitNOFILE=49999

  2. Controleer het VMA-aantal met cat /proc/sys/vm/max_map_count, standaard is dit 64K, dit moet worden ingesteld op 250K: voeg aan /etc/sysctl.conf de regel vm.max_map_count=250000 toe

Firebird-configuratie (aanbevelingen alleen voor Firebird 3)

  1. Zorg ervoor dat u niet de standaard DefaultDBCacheBuffers gebruikt, deze zijn erg laag (256 en 8K)! Stel 1024 in voor SuperClassic en 100K voor SuperServer. Gebruik geen Classic in Firebird 3, dit is traag.

  2. Zorg ervoor dat DefaultDBCacheBuffers niet wordt overschreven in de databaseheader: controleer dit met gstat -h database -> Page Buffers, dit moet 0 zijn. Stel dit in op 0 met gfix -buffers 0.

  3. Stel FileSystemCacheThreshold =100M in om de bestandscache van het besturingssysteem te gebruiken

  4. Wijs voor SuperServer minder dan 30% van het RAM-geheugen toe aan DefaultDBCacheBuffers. Als u veel databases heeft, bereken dan het geheugen voor alle databases en gebruik databases.conf om ze afzonderlijk te configureren. Controleer het totale aantal verbindingen en databases met de opdracht:

fbsvcmgr.exe localhost:service_mgr user sysdba password masterkey info_svr_db_info

  1. Stel voor SuperServer en SuperClassic TempCacheLimit in op 25% van het RAM-geheugen, voor Classic - 64M.

  2. Stel LockMemSize=30M in, dit is een goede beginwaarde, controleer vervolgens de groei van de locktabel met de opdracht fblockprint -d databasename en verhoog LockMemSize indien nodig

  3. Stel LockHashSlots=20011 in, dit is een goede beginwaarde, controleer Hash Lengths in lockprint

Database

  1. Gebruik voor databases > 50Gb de maximale paginagrootte: 16Kb (standaard 8Kb), om lees-IO en de diepte van indexen te optimaliseren. Stel dit in tijdens het herstellen met de schakelaar “page”: gbak**-c -page 16384**

  2. Gebruik de vlag no_reserve niet voor niet-alleen-lezen databases. Verwijder deze met **gfix -**use reserve

  3. Controleer het verschil tussen de transactiemarkeringen (OIT, OST, OAT, Next) van gstat -h.

  4. Groot (OST-OIT) betekent dat de database waarschijnlijk veel garbage-versies bevat en een sweep nodig heeft. Plan een expliciete sweep in voor de nacht met gfix -sweep

  5. Groot (Next-OAT) betekent een lang actieve schrijfbare transactie die garbage collection blokkeert. Controleer MON$-tabellen om te zien welke applicatie de transactie openhoudt en los dit op.

5 minuten test om Firebird-prestaties te schatten

Gebruik het open-source INSERT-UPDATE_DELETE-script: www.ib-aid.com/dbtestMomenteel heeft de snelst geteste server 18140 ingevoegde records per seconde laten zien, wat is uw resultaat?

Hoe Firebird-prestaties verder verbeteren dan deze eenvoudige tuning?

Probeer IBSurgeon’s Firebird-optimalisatieservice www.ib-aid.com/perf: wij weten hoe we uw Firebird sneller kunnen laten werken.