Firebird Restart to improve performance and remove External Users

Firebird Restart to improve performance and remove External Users

Firebird Stop / Start process

 

Large Ostendo sites running 20+ users should stop and re-start Firebird on a regular basis to ensure performance is maintained. The major issue to automating this process in the past has been the worry that users may have set a process (eg: Batch Invoicing) running and if the database is disconnected by shutting down Firebird, you would run the risk of generating an incomplete transaction. By its nature, Batch Invoicing is the only batch process in Ostendo that could cause this, as other batch processes eg: MRP, Cost Rollup etc.. would roll back in the database if the connection was interrupted. Batch Invoicing can take a while to complete because of the complexity involved. Therefore there is potential for this to be running at the same time a shutdown of Firebird is initiated if a shutdown was automated.

 

This utility program would be setup to run via the server Windows Task Scheduler to run at a time (typically well out of business hours) it is believed that no users should be actively entering or processing data within Ostendo.

 

When this program is triggered to run, it will check the last modified date and time of the SALESINVOICEHEADER, SALESINVOICEGROUPING, SALESINVOICELINES records and determine the minutes difference from these records to NOW (NOW being when the utility is run) and compares this to a specified parameter in a configuration file. If the routine determines any of these records are within this parameter, the routine will not proceed, otherwise it will automatically shut down Firebird / Ostendo API and Queue Services and Restart them. This will also have the effect of removing any active connections to the database. Further to this a log file will be generated to confirm what action if any has been performed by this program.

 

NB: Currently this program only checks one Ostendo database, therefore it is not recommended for sites with multiple Ostendo databases at this stage. (development is underway to cater for this)

Setup:

All files must reside in the Ostendo folder

fbstart.ini contains the configuration settings for the utility. Generally speaking you will only need to specify the DBFilename parameter. The syntax would be as follows: (Modify this using Notepad)

DBFilename=SERVERNAME:C:\Program Files (x86)\Ostendo\Database\Ostendo.fdb

If multiple instances of Firebird exist, thereby using different ports for Firebird, the database syntax would be as follows:

DBFilename=SERVERNAME/3051:C:\Program Files (x86)\Ostendo\Database\Ostendo.fdb

  

[Settings]

MinutesBack=30                                              {Time between now and last modified record}

TimeoutSeconds=5                                          {Timeout when starting or stopping FB service}                 

DBUser=                                                         {DB Username if not default}     

DBPass=                                                         {DB Password if not default}

DBFilename=                                                  {Database file including port and server when applicable}

ServiceName=FirebirdServerDefaultInstance      {Service name Not the display name}

GuardianServiceName=FirebirdGuardianDefaultInstance  {Service name Not the display name (Guardian only exists if FB has been installed as SuperServer configuration)}

APIServiceName=ostapisvc                               {Service name Not the display name}

QueueServiceName=                                        {Service name Not the display name}

WriteLogFile=1                                                {1 = Write log file 1 or 0 = no log file}

AutoClose=1                                                   {1 = automatically close Program when done 0 = leave program open}

 

We suggest all other settings are left as the defaults

 

Fbrestart.exe is the actual utility program that needs to be scheduled

 

Setup a Windows Task schedule to run this application at a time when you believe no users should be actively using Ostendo.

 

When the routine has run, it will save a log file in the Ostendo folder called fbrestart.log NB: This log file will be overwritten each time the routine it run.

The Fbrestart.exe and ini files can be downloaded from http://ostendo.info/downloads/ostendo/fbrestart.zip





    • Related Articles

    • Database Sweep Interval Setting To Improve Performance

      Amending the Database Sweep Interval Setting Overview: On some large databases, performance issues maybe experienced due to the database Sweep Interval setting being set at a higher level than need be. By default the Sweep Interval setting is set to ...
    • Increasing Firebird Performance

      Below are links to two articles relating to potentially increasing Firebird Performance https://ib-aid.com/en/articles/how-to-make-firebird-work-20-faster-at-windows-server-2016-in-less-than-1-minute/ ...
    • Installing Firebird 2.5.8.27089 in a multi user environment

      It is suggested that for multi user (Client Server or Terminal Server environments) that Firebird be can installed with the 'Classic -> Super Classic' configuration. It has been demonstrated that in 'some' environments this can improve performance ...
    • Improving Performance of Opening Lists

      As a database gets larger, the opening List grids can take longer to load, when 'Include Closed' Orders, 'Include Updated Status' or 'Include Fully Paid' is turned on along with Filtering and Sorting from the Grid options. This is because in order to ...
    • Ostendo and Firebird Installation Instructions

      Please refer to the attached document, which describes the process for software installation of Firebird and Ostendo Also please refer to the Knowledgebase Article "Installing Firebird 2.5.1 in a multi user environment" for further information ...