Configuring the FillDB database insertion level

The improvements to BigFix performance depend on the environment in which BigFix runs. To find the best performance configuration for your environment, tune the data insertion mechanism in the FillDB database as follows:

  1. Enable the performance log.
    On Windows systems: set the following string value in the [HKLM\Software\Wow6432Node\BigFix\Enterprise Server\FillDB] registry:
    "PerformanceDataPath"[REG_SZ] = "[IEM Server folder]\FillDB\FillDBperf.log"
    
    On Linux systems: set the following keyword in the besserver.config file:
    PerformanceDataPath = <Performance_Data_Path_filename>
    
    where <Performance_Data_Path_filename> might be /var/opt/BESServer/FillDBData/FillDBPerf.log.

  2. Restart the FillDB service and monitor the performance log for a while, registering the database insertion rate in "rows per second" of the various tables.

  3. Set the DatabaseBoostLevel parameter to either 2 or 3:

    On Windows systems: add the DatabaseBoostLevel DWord value to the registry key HKLM\Software\Wow6432Node\BigFix\Enterprise Server\FillDB. The possible values are 0 - 3. The default value is 0 and corresponds to the value set on BigFix Version 9.1.

    On Linux systems: add the following lines to the /var/opt/BESServer/besserver.config file:
    [Software\BigFix\Enterprise Server\FillDB]
    DatabaseBoostLevel = <DATABASE_CONFIGURATION_LEVEL>
    
    where <DATABASE_CONFIGURATION_LEVEL> can be a value from 0 to 3. The default value is 0 and corresponds to the value set in BigFix Version 9.1.

  4. Restart the FillDB service and monitor the performance log again for a while, registering the database insertion rate in "rows per second" of the various tables.

  5. Compare the insertion rate before and after setting the new value of the DatabaseBoostLevel parameter, step 3, ensuring that you keep the same level of workload during the monitoring. The more rows that are processed per second, the better the performances. Keep the value that gives the best insertion rate. The key tables to monitor are: questionresults, fixletresults, actionresults and longquestionresults. The number of rows processed per table is an indicator of the importance that the table has in your environment.
Note: When you increase the value of DatabaseBoostLevel, FillDB inserts larger blocks of data by using peak database resources.