Repository database tuning settings
Use the [repository_database] stanza in agent_management.conf to tune the Postgres-backed repository mode when the default settings don't meet your needs.
Use the [repository_database] stanza in agent_management.conf to tune the Postgres-backed repository mode when the default settings don't meet your needs.
Matching refresh settings
| Setting | Default | Description |
|---|---|---|
| agents_matching_refresh_batch_size | 10000 |
Number of agents processed in one client-matching refresh batch. |
| agents_matching_max_concurrent_DS_requests | 10 |
Maximum concurrent client-matching requests sent to agent management. |
| agents_matching_refresh_interval_s | 60 |
Interval, in seconds, between background matching refresh runs. |
| agents_matching_refresh_timeout_m | 20 |
Timeout, in minutes, for a single matching refresh run. |
Ingestion throughput settings
| Setting | Default | Description |
|---|---|---|
| app_events_file_limit | 10 |
Maximum number of application-event CSV files processed in one ingestion cycle. |
| client_events_file_limit | 10 |
Maximum number of client-event CSV files processed in one ingestion cycle. |
| phonehome_events_file_limit | 10 |
Maximum number of phonehome CSV files processed in one ingestion cycle. |
| app_events_ingestion_interval_m | 1 |
Interval, in minutes, between application-event ingestion runs. |
| client_events_ingestion_interval_m | 1 |
Interval, in minutes, between client-event ingestion runs. |
| phonehome_events_ingestion_interval_m | 1 |
Interval, in minutes, between phonehome ingestion runs. |
| app_events_ingestion_batch_size | 10000 |
Number of application-event records written to Postgres in one batch. |
| client_events_ingestion_batch_size | 10000 |
Number of client-event records written to Postgres in one batch. |
| phonehome_events_ingestion_batch_size | 10000 |
Number of phonehome records written to Postgres in one batch. |
Retention and cleanup settings
| Setting | Default | Description |
|---|---|---|
| database_prune_interval_h | 24 |
Interval, in hours, between pruning runs for expired repository data. |
| database_items_ttl_h | 744 |
Retention time, in hours, before repository data becomes eligible for pruning. |
| stale_csv_cleanup_interval_m | 60 |
Interval, in minutes, between stale CSV cleanup runs. |
| stale_csv_cleanup_ttl_m | 10080 |
Retention time, in minutes, for stale CSV files before cleanup. |
Tuning guidance
Increase settings in stages and watch your system behavior after each change.
- If your CSV backlog is growing, raise the file limit settings first: app_events_file_limit, client_events_file_limit, and phonehome_events_file_limit.
- If Postgres write throughput is the bottleneck, raise the ingestion batch size settings next: app_events_ingestion_batch_size, client_events_ingestion_batch_size, and phonehome_events_ingestion_batch_size.
- If matching refresh is the bottleneck and your agent management server has capacity, raise agents_matching_refresh_batch_size and agents_matching_max_concurrent_DS_requests carefully.
- Adjust retention and cleanup settings only when you need different data retention or cleanup timing.
Operational signals
Watch for these operational signals in your environment:
- Growing CSV backlog
- Delayed data visibility in agent management
- Missing or incomplete agent management
_internaldata from searches that your agent management server runs - Missing local agent management generated events when you forward with
selectiveIndexing = true - Matching refresh lag
- Slower UI or API loads immediately after you change a server class or application, while client matching recalculates once
- Sustained UI or API slowness after client-matching refresh completes
- Search warnings or search-tier resource pressure
- Postgres write or query pressure
These signals usually indicate that you need to review ingestion throughput, matching refresh settings, saved-search scheduling, _internal data visibility, forwarding and local-indexing configuration, or supporting infrastructure capacity.
Tuned configuration
[general]
repository_type = database
[repository_database]
agents_matching_refresh_batch_size = 20000
agents_matching_max_concurrent_DS_requests = 20
app_events_file_limit = 20
client_events_file_limit = 20
phonehome_events_file_limit = 20
app_events_ingestion_batch_size = 20000
client_events_ingestion_batch_size = 20000
phonehome_events_ingestion_batch_size = 20000