On this page:
   34.35    Versioned References 34.37    FHIR Performance Tracing   

34.36FHIR Performance

 

The FHIR Performance configuration category includes the following configurable options:

  • Default Total Calculation Mode

  • Delete Enabled

  • Expire Search Results After Minutes

  • Expunge Batch Size

  • Expunge Thread Count

  • Match URL Cache Enabled

  • Maximum Transaction Bundle Size

  • Reindex Thread Count

  • Reuse Cached Results Timeout (Millis)

  • Index Missing Search Params

  • Suppress Scheduled Maintenance Jobs

34.36.1Property: Default Total Calculation Mode

 
Property Name Default Total Calculation Mode
Property Key
Property Type ENUM
Values
  • NONE
  • ESTIMATED
  • ACCURATE
Description This setting may be used to force the calculation of the total number of results when large searches are performed. This setting can have an impact on performance, since calculating the total can mean an extra (potentially expensive) database query.
Applies to Modules
  • FHIR Storage (DSTU2 Relational)
  • FHIR Storage (R3 Relational)
  • FHIR Storage (R4 Relational)
Default Value (no default)
Example Property
module.[MODULE_ID].config.dao_config.default_total_mode = 

34.36.2Property: Delete Enabled

 
Property Name Delete Enabled
Property Key
Property Type BOOLEAN
Description If set to false, deletes will not be supported on this server. This should be disabled if the server does not need to support any resource deletion, as it improves performance by reducing the number of deletion checks performed during write operations.
Applies to Modules
  • FHIR Storage (DSTU2 Relational)
  • FHIR Storage (R3 Relational)
  • FHIR Storage (R4 Relational)
Default Value true
Example Property
module.[MODULE_ID].config.dao_config.delete_enabled = true

34.36.3Property: Expire Search Results After Minutes

 
Property Name Expire Search Results After Minutes
Property Key
Property Type POSITIVE_INTEGER
Description The number of minutes that search results for a given client search should be preserved before being purged from the database. See Caching Results for more information.
Applies to Modules
  • FHIR Storage (DSTU2 Relational)
  • FHIR Storage (R3 Relational)
  • FHIR Storage (R4 Relational)
Default Value 60
Example Property
module.[MODULE_ID].config.dao_config.expire_search_results_after_minutes = 60

34.36.4Property: Expunge Batch Size

 
Property Name Expunge Batch Size
Property Key
Property Type NON_NEGATIVE_INTEGER
Description The expunge batch size determines the number of records deleted within a single transaction by the expunge operation.
Applies to Modules
  • FHIR Storage (DSTU2 Relational)
  • FHIR Storage (R3 Relational)
  • FHIR Storage (R4 Relational)
Default Value 800
Example Property
module.[MODULE_ID].config.dao_config.expunge_batch_size = 800

34.36.5Property: Expunge Thread Count

 
Property Name Expunge Thread Count
Property Key
Property Type NON_NEGATIVE_INTEGER
Description This setting controls the number of threads allocated to the expunge operation
Applies to Modules
  • FHIR Storage (DSTU2 Relational)
  • FHIR Storage (R3 Relational)
  • FHIR Storage (R4 Relational)
Default Value 2
Example Property
module.[MODULE_ID].config.dao_config.expunge_thread_count = 2

34.36.6Property: Match URL Cache Enabled

 
Property Name Match URL Cache Enabled
Property Key
Property Type BOOLEAN
Description When this setting is enabled, an in-memory cache stores the resolution results for conditional URLs in REST conditional operations (e.g. conditional create, conditional update, inline match URLs, etc.). In scenarios where conditional operations are heavily used and the targets will not change (e.g. during back-loading of data) this setting can improve performance by reducing reads during write operations. Note that the cache does not invalidate automatically, so this setting should not be used if conditional URL targets are expected to change.
Applies to Modules
  • FHIR Storage (DSTU2 Relational)
  • FHIR Storage (R3 Relational)
  • FHIR Storage (R4 Relational)
Default Value false
Example Property
module.[MODULE_ID].config.dao_config.match_url_cache.enabled = false

34.36.7Property: Maximum Transaction Bundle Size

 
Property Name Maximum Transaction Bundle Size
Property Key
Property Type POSITIVE_INTEGER
Description Specifies the maximum number of resources permitted within a single transaction bundle. If a transaction bundle is submitted with more than this number of resources, it will be rejected with a PayloadTooLarge exception. If blank, there is no limit.
Applies to Modules
  • FHIR Storage (DSTU2 Relational)
  • FHIR Storage (R3 Relational)
  • FHIR Storage (R4 Relational)
Default Value (no default)
Example Property
module.[MODULE_ID].config.dao_config.maximum_transaction_bundle_size = 

34.36.8Property: Reindex Thread Count

 
Property Name Reindex Thread Count
Property Key
Property Type NON_NEGATIVE_INTEGER
Description This setting controls the number of threads allocated to resource reindexing (which is only ever used if SearchParameters change, or a manual reindex is triggered due to a Smile CDR upgrade or some other reason).
Applies to Modules
  • FHIR Storage (DSTU2 Relational)
  • FHIR Storage (R3 Relational)
  • FHIR Storage (R4 Relational)
Default Value 2
Example Property
module.[MODULE_ID].config.dao_config.reindex_thread_count = 2

34.36.9Property: Reuse Cached Results Timeout (Millis)

 
Property Name Reuse Cached Results Timeout (Millis)
Property Key
Property Type NON_NEGATIVE_INTEGER
Description If set, any searches repeated during this period for the exact same criteria will reuse the same search results instead of performing a new search. Set this value to 0 to disable the query cache entirely or set to a positive number of milliseconds to specify a specific timeout. See The Query Cache for more information.
Applies to Modules
  • FHIR Storage (DSTU2 Relational)
  • FHIR Storage (R3 Relational)
  • FHIR Storage (R4 Relational)
Default Value 60000
Example Property
module.[MODULE_ID].config.dao_config.reuse_cached_results_timeout_millis = 60000

34.36.10Property: Index Missing Search Params

 
Property Name Index Missing Search Params
Property Key
Property Type ENUM
Values
  • ENABLED
  • DISABLED
Description If disabled, the FHIR endpoint will not support :missing modifiers on searches. Disabling this feature causes fewer index rows to be generated in the database when persisting resources. Note that enabling this feature this can negatively impact write performance, perticularly on systems with a large number of search parameters enabled.
Applies to Modules
  • FHIR Storage (DSTU2 Relational)
  • FHIR Storage (R3 Relational)
  • FHIR Storage (R4 Relational)
Default Value DISABLED
Example Property
module.[MODULE_ID].config.indexing.index_missing_search_params = DISABLED

34.36.11Property: Suppress Scheduled Maintenance Jobs

 
Property Name Suppress Scheduled Maintenance Jobs
Property Key
Property Type BOOLEAN
Description If this is enabled, no scheduled tasks will be invoked by this module. This setting is only useful in cases where multiple master FHIR Storage modules are pointed at the same database, in order to ensure that only one of them performs scheduled jobs.
Applies to Modules
  • FHIR Storage (DSTU2 Relational)
  • FHIR Storage (R3 Relational)
  • FHIR Storage (R4 Relational)
Default Value false
Example Property
module.[MODULE_ID].config.suppress_scheduled_maintenance_jobs = false
   34.35    Versioned References 34.37    FHIR Performance Tracing