Performance tuning and sizing guidelines for Aria Automation Config
search cancel

Performance tuning and sizing guidelines for Aria Automation Config

book

Article ID: 422215

calendar_today

Updated On:

Products

VCF Operations/Automation (formerly VMware Aria Suite)

Issue/Introduction

  • Administrators need to prepare an existing Open Source Salt environment for integration with VMware Aria Automation Config (formerly vRealize Automation SaltStack Config).
  • Users observe performance degradation, such as slow job returns or high CPU wait times (thrashing), in large-scale environments.
  • The Salt Master or RaaS server is experiencing high resource consumption.

Environment

VMware Aria Automation Config (all versions)

Salt Open Source

Cause

Default configurations in Open Source Salt and standard hardware sizing may not be optimized for the additional overhead introduced by the RaaS (Returner) architecture or large-scale enterprise environments. As the number of managed minions increases, specific tuning is required to ensure efficient context switching and database writing.

Resolution

Note: All guidance here is offered, not as a hard fast rule, but as a place to begin with sizing and tuning your SaltStack deployment that is integrated with Aria Config. The guidance below is targeting users that have

To ensure stability and performance, sizing and configuration must be tuned across three specific layers: the Database, the RaaS Server, and the Salt Master.

1. Hardware Sizing Guidelines

Requests flow from the Web UI to the Minion and back to the Database. The Database server acts as the final destination for all event data and requires significant resources. Therefore, the database

Component vCPU (Minimum) RAM (Minimum) Notes
PostgreSQL Database 16 vCPU 32 GB This node must be the most performant. It requires continuous monitoring and vertical scaling as the environment grows.
RaaS Server 8 vCPU 16 GB RaaS is a multi-forking, multi-threaded daemon. When healthy, you should observe approximately 8 Webserver processes and 8 CeleryWorker processes.
Redis 2 vCPU 8 GB Redis is single-threaded and does not require high CPU, but it is memory-intensive. Usage is "bursty"; RAM usage may spike suddenly as background tasks are processed.
Note: These are baseline recommendations. Continuous monitoring of CPU and Memory usage is required to tune the sizing for your specific production load. See the prerequisites for Aria Config for more information.

2. Salt Master Configuration

Modify the Salt Master configuration file (typically located at /etc/salt/master) to optimize the handling of Minion returns and command processing.

Worker Threads (worker_threads)

This setting controls the number of MWorker processes the Salt Master spawns to process tasks.

  • Risk: Setting this too high on a CPU-constrained system causes "thrashing," where the CPU spends more time managing process context switches than executing tasks.
  • Recommendation: Start with a value equal to 80% of available CPU cores.
  • Tuning: If the CPU is performant, you may attempt to increase this to 1.5x the CPU cores (e.g., worker_threads: 12 on an 8-core machine).

Timeout (timeout)

  • Standard: 15 seconds is sufficient for most Linux environments.
  • Windows/Heavy Load: If managing many Windows minions, increase to 60 seconds.
  • Impact: Increasing this affects all minions and may delay the reporting of job results in the UI. It is often best practice to manage Windows and Linux minions on separate Salt Masters if timeouts become a conflict.

Job Retention (keep_jobs)

Recommendation: This setting on the Salt Master becomes irrelevant after integrating with Aria Config, as jobs are stored in the PostgreSQL database. Manage data retention using the keep_history setting within the RaaS daemon configuration instead.

File Receiving (file_recv)

Recommendation: Disable this setting (set to False) in production environments.

Security Warning: Enabling this allows minions to push files to the Master. Attackers can exploit this to upload and potentially execute malicious code on the Salt Master.

3. Operating System Tuning

High-scale environments may exhaust the default network stack limits. While specific values depend heavily on the underlying hardware and network architecture, the following kernel parameters should be investigated and tuned:

net.core.somaxconn
net.ipv4.ip_local_port_range
net.ipv4.tcp_tw_reuse

Please refer to the official Salt Project documentation on Salt Scale for further context on OS-level tuning.