SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Firebird on Linux




           Firebird on Linux



 Author:   Philippe Makowski IBPhoenix
  Email:   pmakowski@ibphoenix.com
Licence:   Public Documentation License
   Date:   2011-11-22




               Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                               How to install



• Project packages
     • rpm
     • tar.gz
• Distributions packages
• Build from sources




                           Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                        Project packages - rpm
• pro
     •   easy ?
     •   secure (sysdba password)
     •   project build (no patch)
     •   project build easier to debug
• con
     •   too generic
     •   not support update (rpm )
     •   not always check dependencies
     •   all in /opt
     •   pre 2.5 builds with old libc
     •   old and not full icu



                             Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                       Project packages - tar.gz
• pro
     •   easy (extract, install)
     •   secure (sysdba password)
     •   project build (no patch)
     •   project build easier to debug
• con
     •   not support update
     •   not check dependencies
     •   pre 2.5 builds with old libc
     •   old and not full icu




                              Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                     Project packages - check list
• classic server
     • xinetd:

           yum install xinetd

• all
        • libc for pre 2.5 (libstdc++.so.5):

           urpmi libstdc++5
           yum install compat-glibc

        • problem ? support list




                               Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                        Distribution packages
• pro
     •   easy
     •   good integration
     •   dependencies correctly managed
     •   build with default distro libc
     •   full icu
• con
     •   can have wrong patch
     •   available later
     •   usualy one version at the same time
     •   full icu




                            Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                           Build from sources
   • pro
        • choice
   • con
        • time
   • what you need to build
        • g++, awk, sed, autoconf
        • lib headers
example under debian:

 apt-get install g++ autoconf automake libtool sed libncurses5-dev make




                            Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                      Build from sources - options



Building from source give you options :
       • with or without OS editline
       • with or without OS ICU
       • service name, port
       • files location options
Example:

 ./autogen.sh --prefix=/opt/firebird --enable-superserver --with-system-editline --with-system-icu




                                 Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux
Fine tuning of the installation directories:

 --with-fbbin executables DIR (PREFIX/bin)
 --with-fbsbin system admin executables DIR (PREFIX/bin)
 --with-fbconf config files DIR (PREFIX)
 --with-fblib object code libraries DIR (PREFIX/lib)
 --with-fbinclude C/C++ header files DIR (PREFIXinclude)
 --with-fbdoc documentation root DIR (PREFIX/doc)
 --with-fbudf UDF DIR (PREFIX/UDF)
 --with-fbsample examples DIR (PREFIX/examples)
 --with-fbsample-db examples database DIR (PREFIX/examples/empbuild)
 --with-fbhelp QLI help DIR (PREFIX/help)
 --with-fbintl international DIR (PREFIX/intl)
 --with-fbmisc misc DIR (PREFIX/misc)
 --with-fbsecure-db security database DIR (PREFIX)
 --with-fbmsg message files DIR (PREFIX)
 --with-fblog log files DIR (PREFIX)
 --with-fbglock guardian lock DIR (PREFIX)
 --with-fbplugins plugins DIR (PREFIX)




                             Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

After installation
Some points you have may have to check :
       • xinetd
       • max open files
       • file system




                           Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                             Classic and xinetd
Below is a sample /etc/xinetd.conf file:

 defaults
 {
        instances                  =   500
        log_type                   =   SYSLOG authpriv
        log_on_success             =   HOST PID
        log_on_failure             =   HOST
        cps                        =   5000 1000
        per_source                 =   200
 }
 includedir /etc/xinetd.d


instances — Sets the maximum number of requests xinetd can handle at once
cps — Configures xinetd to allow no more than 5000 connections per second to any
given service. If this limit is reached, the service is retired for 1000 seconds.
per_source — Defines the maximum number of instances for a service per source IP
address.
                              Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                             Firebird and Systemd
systemd is a replacement for the System V init daemon for Linux. It is intended to
provide a better framework for expressing services' dependencies, allow more work to
be done in parallel at system startup, and to reduce shell overhead.
Website: http://www.freedesktop.org/wiki/Software/systemd/
With systemd Classic not use anymore xinetd, but a socket activation. For example in
Fedora, we have to files :
        • /lib/systemd/system/firebird-classic.socket
        • /lib/systemd/system/firebird-classic@.service

To start Firebird Classic:

 systemctl start firebird-classic.socket




                              Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                          Check max open files
You have to check :
         • file-max
         • ulimit
On Linux systems, there is a limit set in the kernel on how many open file descriptors
are allowed on the system
To check this value:

 # sysctl fs.file-max
 fs.file-max = 203786


usually this number is high enough, but if you need to change it:

 # sysctl -w fs.file-max=360000
 fs.file-max = 360000




                              Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux
Above commands let the system remember new settings until the next system restart.
If you want to make the change permanent you have to edit file: /etc/sysctl.conf:

 fs.file-max=360000


It will be automatically loaded next time you start the server. Command:

 # sysctl -p


Causes the /etc/systcl.conf to be reloaded which is useful when you added more
parameters to the file and don't want to restart the server.
There are also 2 types of system limits: soft limit which can be temporarily exceeded
by the user and hard limit which can not be exceeded. To see your hard limit execute
command:

 # ulimit -Hn




                             Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux
but to see the limit for the firebird user, you have to be logged in as firebird user.
To set up firebird limits, edit /etc/security/limits.conf:

 firebird soft nofile 4096
 firebird hard nofile 10240


For those changes to make an effect you have to logout from the modified account and
login again. New limits should be applied.




                               Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

                                    File system
No obvious rules there
       • kernel dependant
       • choose the file system you trust
What can have performance influence :
       • mount option
            • sync / async : How the input and output to the filesystem should be
              done. sync means it's done synchronously (more secure)
            • atime / noatime : atime (update on access), noatime (do not update) last
              accessed time.
   you can check this in /etc/fstab
       • scheduler : often deadline scheduler perform better than cfq
    you can check the scheduler used with:

     # cat /sys/block/sda/queue/scheduler
     noop deadline [cfq]

                             Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux
About the scheduler, pass the option to your boot loader, /etc/grub.conf:

 title Red Hat Enterprise Linux Server (2.6.18-8.el5)
  root (hd0,0)
  kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/sda2 elevator=deadline
  initrd /initrd-2.6.18-8.el5.img


or change it for the hard disk you want:

 # echo deadline > /sys/block/sda/queue/scheduler
 or
 $ echo deadline | sudo tee /sys/block/queue/scheduler


If you want a permanent change, use sysfsutils:

 # apt-get install sysfsutils
 # grep scheduler /etc/sysfs.conf
 block/sdc/queue/scheduler = cfq
 # /etc/init.d/sysfsutils restart


                              Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux




Make your own tests, read




Article about Firebird and Linux File Systems :
http://www.ibphoenix.com/resources/documents/search/doc_26




                            Philippe Makowski - IBPhoenix - 2011-11-22
Firebird on Linux

      Thank you !




Philippe Makowski - IBPhoenix - 2011-11-22

Weitere ähnliche Inhalte

Was ist angesagt?

Linux firmware for iRMC controller on Fujitsu Primergy servers
Linux firmware for iRMC controller on Fujitsu Primergy serversLinux firmware for iRMC controller on Fujitsu Primergy servers
Linux firmware for iRMC controller on Fujitsu Primergy serversVladimir Shakhov
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux BasicsMarc Leeman
 
Python on FreeBSD
Python on FreeBSDPython on FreeBSD
Python on FreeBSDpycontw
 
Fast boot
Fast bootFast boot
Fast bootSZ Lin
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini
 
Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Anne Nicolas
 
Linux field-update-2015
Linux field-update-2015Linux field-update-2015
Linux field-update-2015Chris Simmonds
 
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
XPDS16:  Xenbedded: Xen-based client virtualization for phones and tablets - ...XPDS16:  Xenbedded: Xen-based client virtualization for phones and tablets - ...
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...The Linux Foundation
 
NeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XNeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XiXsystems
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Stefano Babic
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionSherif Mousa
 
4. open mano set up and usage
4. open mano set up and usage4. open mano set up and usage
4. open mano set up and usagevideos
 
BonFIRE: features, sites and tools
BonFIRE: features, sites and toolsBonFIRE: features, sites and tools
BonFIRE: features, sites and toolsBonFIRE
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchlinuxlab_conf
 
Software update for IoT: the current state of play
Software update for IoT: the current state of playSoftware update for IoT: the current state of play
Software update for IoT: the current state of playChris Simmonds
 
OSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install EnvironmentOSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install EnvironmentNETWAYS
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)iXsystems
 
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily JobLuca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Joblinuxlab_conf
 
Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64Samsung Open Source Group
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphoneChris Simmonds
 

Was ist angesagt? (20)

Linux firmware for iRMC controller on Fujitsu Primergy servers
Linux firmware for iRMC controller on Fujitsu Primergy serversLinux firmware for iRMC controller on Fujitsu Primergy servers
Linux firmware for iRMC controller on Fujitsu Primergy servers
 
Embedded Linux Basics
Embedded Linux BasicsEmbedded Linux Basics
Embedded Linux Basics
 
Python on FreeBSD
Python on FreeBSDPython on FreeBSD
Python on FreeBSD
 
Fast boot
Fast bootFast boot
Fast boot
 
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
Marco Cavallini @ LinuxLab 2018 : Workshop Yocto Project, an automatic genera...
 
Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?
 
Linux field-update-2015
Linux field-update-2015Linux field-update-2015
Linux field-update-2015
 
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
XPDS16:  Xenbedded: Xen-based client virtualization for phones and tablets - ...XPDS16:  Xenbedded: Xen-based client virtualization for phones and tablets - ...
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
 
NeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XNeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD X
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014
 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems Introduction
 
4. open mano set up and usage
4. open mano set up and usage4. open mano set up and usage
4. open mano set up and usage
 
BonFIRE: features, sites and tools
BonFIRE: features, sites and toolsBonFIRE: features, sites and tools
BonFIRE: features, sites and tools
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
Software update for IoT: the current state of play
Software update for IoT: the current state of playSoftware update for IoT: the current state of play
Software update for IoT: the current state of play
 
OSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install EnvironmentOSDC 2014: Nat Morris - Open Network Install Environment
OSDC 2014: Nat Morris - Open Network Install Environment
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
 
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily JobLuca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
 
Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
 

Ähnlich wie Firebird on Linux

CentOS Stream at Facebook
CentOS Stream at FacebookCentOS Stream at Facebook
CentOS Stream at FacebookDavide Cavalca
 
Building Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 ArchBuilding Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 ArchSherif Mousa
 
Moby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at Kiratech
Moby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at KiratechMoby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at Kiratech
Moby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at KiratechKiratech
 
Containerday17 Moby-linuxkit-DockerCon-2017-announcements
Containerday17 Moby-linuxkit-DockerCon-2017-announcementsContainerday17 Moby-linuxkit-DockerCon-2017-announcements
Containerday17 Moby-linuxkit-DockerCon-2017-announcementsKiratech
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMSherif Mousa
 
Running CentOS on the Facebook fleet
Running CentOS on the Facebook fleetRunning CentOS on the Facebook fleet
Running CentOS on the Facebook fleetDavide Cavalca
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovskyphp-user-group-minsk
 
Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Max Romanovsky
 
Tribal Nova Docker feedback
Tribal Nova Docker feedbackTribal Nova Docker feedback
Tribal Nova Docker feedbackNicolas Degardin
 
Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Carlos Eduardo
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2Qualcomm Developer Network
 
Navigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas SaariMetosin Oy
 
linux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrixlinux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrixSherif Mousa
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkBenjamin Zores
 
Introduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systemsIntroduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systemsNaohiko Shimizu
 
Building community with CentOS Stream
Building community with CentOS StreamBuilding community with CentOS Stream
Building community with CentOS StreamDavide Cavalca
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetDavide Cavalca
 
Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureChristian Charreyre
 

Ähnlich wie Firebird on Linux (20)

CentOS Stream at Facebook
CentOS Stream at FacebookCentOS Stream at Facebook
CentOS Stream at Facebook
 
Building Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 ArchBuilding Mini Embedded Linux System for X86 Arch
Building Mini Embedded Linux System for X86 Arch
 
Moby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at Kiratech
Moby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at KiratechMoby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at Kiratech
Moby and linux kit, what to expect - Lorenzo Fontana, DevOps Expert at Kiratech
 
Containerday17 Moby-linuxkit-DockerCon-2017-announcements
Containerday17 Moby-linuxkit-DockerCon-2017-announcementsContainerday17 Moby-linuxkit-DockerCon-2017-announcements
Containerday17 Moby-linuxkit-DockerCon-2017-announcements
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
 
Running CentOS on the Facebook fleet
Running CentOS on the Facebook fleetRunning CentOS on the Facebook fleet
Running CentOS on the Facebook fleet
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovsky
 
Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...
 
Tribal Nova Docker feedback
Tribal Nova Docker feedbackTribal Nova Docker feedback
Tribal Nova Docker feedback
 
Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
 
Rac on NFS
Rac on NFSRac on NFS
Rac on NFS
 
Navigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
linux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrixlinux minimal os tutorial - by shatrix
linux minimal os tutorial - by shatrix
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux Framework
 
Introduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systemsIntroduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systems
 
Building community with CentOS Stream
Building community with CentOS StreamBuilding community with CentOS Stream
Building community with CentOS Stream
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
 
Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architecture
 

Mehr von Mind The Firebird

Tips for using Firebird system tables
Tips for using Firebird system tablesTips for using Firebird system tables
Tips for using Firebird system tablesMind The Firebird
 
Using Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easilyUsing Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easilyMind The Firebird
 
A year in the life of Firebird .Net provider
A year in the life of Firebird .Net providerA year in the life of Firebird .Net provider
A year in the life of Firebird .Net providerMind The Firebird
 
How Firebird transactions work
How Firebird transactions workHow Firebird transactions work
How Firebird transactions workMind The Firebird
 
Using ТРСС to study Firebird performance
Using ТРСС to study Firebird performanceUsing ТРСС to study Firebird performance
Using ТРСС to study Firebird performanceMind The Firebird
 
Creating logs for data auditing in FirebirdSQL
Creating logs for data auditing in FirebirdSQLCreating logs for data auditing in FirebirdSQL
Creating logs for data auditing in FirebirdSQLMind The Firebird
 
Firebird Performance counters in details
Firebird Performance counters in detailsFirebird Performance counters in details
Firebird Performance counters in detailsMind The Firebird
 
Understanding Numbers in Firebird SQL
Understanding Numbers in Firebird SQLUnderstanding Numbers in Firebird SQL
Understanding Numbers in Firebird SQLMind The Firebird
 
Threading through InterBase, Firebird, and beyond
Threading through InterBase, Firebird, and beyondThreading through InterBase, Firebird, and beyond
Threading through InterBase, Firebird, and beyondMind The Firebird
 
New SQL Features in Firebird 3, by Vlad Khorsun
New SQL Features in Firebird 3, by Vlad KhorsunNew SQL Features in Firebird 3, by Vlad Khorsun
New SQL Features in Firebird 3, by Vlad KhorsunMind The Firebird
 
Orphans, Corruption, Careful Write, and Logging
Orphans, Corruption, Careful Write, and LoggingOrphans, Corruption, Careful Write, and Logging
Orphans, Corruption, Careful Write, and LoggingMind The Firebird
 
Firebird release strategy and roadmap for 2015/2016
Firebird release strategy and roadmap for 2015/2016Firebird release strategy and roadmap for 2015/2016
Firebird release strategy and roadmap for 2015/2016Mind The Firebird
 
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...Mind The Firebird
 
Working with Large Firebird databases
Working with Large Firebird databasesWorking with Large Firebird databases
Working with Large Firebird databasesMind The Firebird
 
Stored procedures in Firebird
Stored procedures in FirebirdStored procedures in Firebird
Stored procedures in FirebirdMind The Firebird
 
Superchaging big production systems on Firebird: transactions, garbage, maint...
Superchaging big production systems on Firebird: transactions, garbage, maint...Superchaging big production systems on Firebird: transactions, garbage, maint...
Superchaging big production systems on Firebird: transactions, garbage, maint...Mind The Firebird
 

Mehr von Mind The Firebird (20)

Tips for using Firebird system tables
Tips for using Firebird system tablesTips for using Firebird system tables
Tips for using Firebird system tables
 
Using Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easilyUsing Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easily
 
A year in the life of Firebird .Net provider
A year in the life of Firebird .Net providerA year in the life of Firebird .Net provider
A year in the life of Firebird .Net provider
 
How Firebird transactions work
How Firebird transactions workHow Firebird transactions work
How Firebird transactions work
 
SuperServer in Firebird 3
SuperServer in Firebird 3SuperServer in Firebird 3
SuperServer in Firebird 3
 
Copycat presentation
Copycat presentationCopycat presentation
Copycat presentation
 
Using ТРСС to study Firebird performance
Using ТРСС to study Firebird performanceUsing ТРСС to study Firebird performance
Using ТРСС to study Firebird performance
 
Overview of RedDatabase 2.5
Overview of RedDatabase 2.5Overview of RedDatabase 2.5
Overview of RedDatabase 2.5
 
Creating logs for data auditing in FirebirdSQL
Creating logs for data auditing in FirebirdSQLCreating logs for data auditing in FirebirdSQL
Creating logs for data auditing in FirebirdSQL
 
Firebird Performance counters in details
Firebird Performance counters in detailsFirebird Performance counters in details
Firebird Performance counters in details
 
Understanding Numbers in Firebird SQL
Understanding Numbers in Firebird SQLUnderstanding Numbers in Firebird SQL
Understanding Numbers in Firebird SQL
 
Threading through InterBase, Firebird, and beyond
Threading through InterBase, Firebird, and beyondThreading through InterBase, Firebird, and beyond
Threading through InterBase, Firebird, and beyond
 
New SQL Features in Firebird 3, by Vlad Khorsun
New SQL Features in Firebird 3, by Vlad KhorsunNew SQL Features in Firebird 3, by Vlad Khorsun
New SQL Features in Firebird 3, by Vlad Khorsun
 
Orphans, Corruption, Careful Write, and Logging
Orphans, Corruption, Careful Write, and LoggingOrphans, Corruption, Careful Write, and Logging
Orphans, Corruption, Careful Write, and Logging
 
Firebird release strategy and roadmap for 2015/2016
Firebird release strategy and roadmap for 2015/2016Firebird release strategy and roadmap for 2015/2016
Firebird release strategy and roadmap for 2015/2016
 
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
 
Working with Large Firebird databases
Working with Large Firebird databasesWorking with Large Firebird databases
Working with Large Firebird databases
 
Stored procedures in Firebird
Stored procedures in FirebirdStored procedures in Firebird
Stored procedures in Firebird
 
Superchaging big production systems on Firebird: transactions, garbage, maint...
Superchaging big production systems on Firebird: transactions, garbage, maint...Superchaging big production systems on Firebird: transactions, garbage, maint...
Superchaging big production systems on Firebird: transactions, garbage, maint...
 
Firebird meets NoSQL
Firebird meets NoSQLFirebird meets NoSQL
Firebird meets NoSQL
 

Kürzlich hochgeladen

UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 

Kürzlich hochgeladen (20)

UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 

Firebird on Linux

  • 1. Firebird on Linux Firebird on Linux Author: Philippe Makowski IBPhoenix Email: pmakowski@ibphoenix.com Licence: Public Documentation License Date: 2011-11-22 Philippe Makowski - IBPhoenix - 2011-11-22
  • 2. Firebird on Linux How to install • Project packages • rpm • tar.gz • Distributions packages • Build from sources Philippe Makowski - IBPhoenix - 2011-11-22
  • 3. Firebird on Linux Project packages - rpm • pro • easy ? • secure (sysdba password) • project build (no patch) • project build easier to debug • con • too generic • not support update (rpm ) • not always check dependencies • all in /opt • pre 2.5 builds with old libc • old and not full icu Philippe Makowski - IBPhoenix - 2011-11-22
  • 4. Firebird on Linux Project packages - tar.gz • pro • easy (extract, install) • secure (sysdba password) • project build (no patch) • project build easier to debug • con • not support update • not check dependencies • pre 2.5 builds with old libc • old and not full icu Philippe Makowski - IBPhoenix - 2011-11-22
  • 5. Firebird on Linux Project packages - check list • classic server • xinetd: yum install xinetd • all • libc for pre 2.5 (libstdc++.so.5): urpmi libstdc++5 yum install compat-glibc • problem ? support list Philippe Makowski - IBPhoenix - 2011-11-22
  • 6. Firebird on Linux Distribution packages • pro • easy • good integration • dependencies correctly managed • build with default distro libc • full icu • con • can have wrong patch • available later • usualy one version at the same time • full icu Philippe Makowski - IBPhoenix - 2011-11-22
  • 7. Firebird on Linux Build from sources • pro • choice • con • time • what you need to build • g++, awk, sed, autoconf • lib headers example under debian: apt-get install g++ autoconf automake libtool sed libncurses5-dev make Philippe Makowski - IBPhoenix - 2011-11-22
  • 8. Firebird on Linux Build from sources - options Building from source give you options : • with or without OS editline • with or without OS ICU • service name, port • files location options Example: ./autogen.sh --prefix=/opt/firebird --enable-superserver --with-system-editline --with-system-icu Philippe Makowski - IBPhoenix - 2011-11-22
  • 9. Firebird on Linux Fine tuning of the installation directories: --with-fbbin executables DIR (PREFIX/bin) --with-fbsbin system admin executables DIR (PREFIX/bin) --with-fbconf config files DIR (PREFIX) --with-fblib object code libraries DIR (PREFIX/lib) --with-fbinclude C/C++ header files DIR (PREFIXinclude) --with-fbdoc documentation root DIR (PREFIX/doc) --with-fbudf UDF DIR (PREFIX/UDF) --with-fbsample examples DIR (PREFIX/examples) --with-fbsample-db examples database DIR (PREFIX/examples/empbuild) --with-fbhelp QLI help DIR (PREFIX/help) --with-fbintl international DIR (PREFIX/intl) --with-fbmisc misc DIR (PREFIX/misc) --with-fbsecure-db security database DIR (PREFIX) --with-fbmsg message files DIR (PREFIX) --with-fblog log files DIR (PREFIX) --with-fbglock guardian lock DIR (PREFIX) --with-fbplugins plugins DIR (PREFIX) Philippe Makowski - IBPhoenix - 2011-11-22
  • 10. Firebird on Linux After installation Some points you have may have to check : • xinetd • max open files • file system Philippe Makowski - IBPhoenix - 2011-11-22
  • 11. Firebird on Linux Classic and xinetd Below is a sample /etc/xinetd.conf file: defaults { instances = 500 log_type = SYSLOG authpriv log_on_success = HOST PID log_on_failure = HOST cps = 5000 1000 per_source = 200 } includedir /etc/xinetd.d instances — Sets the maximum number of requests xinetd can handle at once cps — Configures xinetd to allow no more than 5000 connections per second to any given service. If this limit is reached, the service is retired for 1000 seconds. per_source — Defines the maximum number of instances for a service per source IP address. Philippe Makowski - IBPhoenix - 2011-11-22
  • 12. Firebird on Linux Firebird and Systemd systemd is a replacement for the System V init daemon for Linux. It is intended to provide a better framework for expressing services' dependencies, allow more work to be done in parallel at system startup, and to reduce shell overhead. Website: http://www.freedesktop.org/wiki/Software/systemd/ With systemd Classic not use anymore xinetd, but a socket activation. For example in Fedora, we have to files : • /lib/systemd/system/firebird-classic.socket • /lib/systemd/system/firebird-classic@.service To start Firebird Classic: systemctl start firebird-classic.socket Philippe Makowski - IBPhoenix - 2011-11-22
  • 13. Firebird on Linux Check max open files You have to check : • file-max • ulimit On Linux systems, there is a limit set in the kernel on how many open file descriptors are allowed on the system To check this value: # sysctl fs.file-max fs.file-max = 203786 usually this number is high enough, but if you need to change it: # sysctl -w fs.file-max=360000 fs.file-max = 360000 Philippe Makowski - IBPhoenix - 2011-11-22
  • 14. Firebird on Linux Above commands let the system remember new settings until the next system restart. If you want to make the change permanent you have to edit file: /etc/sysctl.conf: fs.file-max=360000 It will be automatically loaded next time you start the server. Command: # sysctl -p Causes the /etc/systcl.conf to be reloaded which is useful when you added more parameters to the file and don't want to restart the server. There are also 2 types of system limits: soft limit which can be temporarily exceeded by the user and hard limit which can not be exceeded. To see your hard limit execute command: # ulimit -Hn Philippe Makowski - IBPhoenix - 2011-11-22
  • 15. Firebird on Linux but to see the limit for the firebird user, you have to be logged in as firebird user. To set up firebird limits, edit /etc/security/limits.conf: firebird soft nofile 4096 firebird hard nofile 10240 For those changes to make an effect you have to logout from the modified account and login again. New limits should be applied. Philippe Makowski - IBPhoenix - 2011-11-22
  • 16. Firebird on Linux File system No obvious rules there • kernel dependant • choose the file system you trust What can have performance influence : • mount option • sync / async : How the input and output to the filesystem should be done. sync means it's done synchronously (more secure) • atime / noatime : atime (update on access), noatime (do not update) last accessed time. you can check this in /etc/fstab • scheduler : often deadline scheduler perform better than cfq you can check the scheduler used with: # cat /sys/block/sda/queue/scheduler noop deadline [cfq] Philippe Makowski - IBPhoenix - 2011-11-22
  • 17. Firebird on Linux About the scheduler, pass the option to your boot loader, /etc/grub.conf: title Red Hat Enterprise Linux Server (2.6.18-8.el5) root (hd0,0) kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/sda2 elevator=deadline initrd /initrd-2.6.18-8.el5.img or change it for the hard disk you want: # echo deadline > /sys/block/sda/queue/scheduler or $ echo deadline | sudo tee /sys/block/queue/scheduler If you want a permanent change, use sysfsutils: # apt-get install sysfsutils # grep scheduler /etc/sysfs.conf block/sdc/queue/scheduler = cfq # /etc/init.d/sysfsutils restart Philippe Makowski - IBPhoenix - 2011-11-22
  • 18. Firebird on Linux Make your own tests, read Article about Firebird and Linux File Systems : http://www.ibphoenix.com/resources/documents/search/doc_26 Philippe Makowski - IBPhoenix - 2011-11-22
  • 19. Firebird on Linux Thank you ! Philippe Makowski - IBPhoenix - 2011-11-22