Skip to main content

Frequently asked questions

What are some examples of parameters that DBtune tunes?

DB parameters govern various aspects of database behavior, including memory allocation (buffer pool sizes), caching policies, and other settings. In PostgreSQL, common examples include shared_buffers and work_mem. DBtune helps fine-tune these parameters for improved performance.

What should I do if my workload changes?

If your workload, hardware, or PostgreSQL version changes, simply run a new DBtune optimization session to re-calibrate the configuration for your updated environment.

Does DBtune tune queries or indexes?

DBtune focuses exclusively on optimizing database configuration settings. It does not propose changes to queries, indexes, or database design.

What data does DBtune access besides database parameters?

DBtune requires performance metrics (throughput in transactions per second (TPS) and average query runtime in milliseconds (ms)) and access to the database configuration file. It treats your database as a black box, meaning it doesn't access user tables or data, and uses standard database commands to gather metrics like pg_stats.

Can I run DBtune in a production environment?

Yes, many customers successfully run DBtune in production. Alternatively, you can optimize a shadow system and then apply the optimized configuration to your production system.

What happens during the tuning process?

DBtune employs an Optimizer as a Service (OaaS) model, functioning like a recommendation engine to find the ideal database configuration. It adapts to new workloads, database systems, and hardware through observation. The DBtune agent (open-source) is installed on your machine and connects to your database, ensuring privacy as it only monitors performance.

The image below summarizes the DBtune software architecture for self-hosted database instances.

DBtune How it works

What is the difference between PGtune and DBtune?

PGtune uses a simplistic heuristic algorithm that doesn't adapt to observed workloads. DBtune's learning-based approach leads to greater and more consistent performance improvements over time.

What databases does DBtune support today?

DBtune fully supports PostgreSQL >v10, with beta support for AWS Aurora and RDS. Support for MySQL, FoundationDB, and RocksDB is under development. Contact for inquiries.

Do I need to enable the restarting of the database?

While not mandatory, enabling database restart during the tuning process significantly expands the optimization possibilities for DBtune. This often leads to greater performance improvements.

Can I try DBtune on a synthetic workload?

Yes! Refer to our synthetic workload guide to try DBtune on an AWS or Azure cloud instance before deploying it in your production environment.