Why is my Newly Restored Database Experiencing Slow Performance?

Last updated: October 31, 2025

Overview

When you restore a database on Aptible, the data is restored from an encrypted Amazon EBS snapshot. After the restore, you may notice slower than normal performance, especially during the first minutes or hours of use. This behavior is expected and temporary.

What is Happening Behind the Scenes

Aptible backs up your database at the storage level using encrypted EBS volume snapshots. This guarantees:

  • Crash safe, volume level backups. No SQL dumps are involved. The backup captures the entire data volume in the same format your database uses on disk.

  • No read or write performance impact on your running database during backup.

  • Fast, reliable recovery when you restore.

  • End to end encryption using keys managed by Aptible.

AWS stores EBS snapshots in S3-class storage. When a database restore occurs, AWS lazily loads blocks from S3 back into the new EBS volume in order to make it available quickly. The first time a block is read, it must be pulled from S3-class storage into the higher-performance EBS-class storage. This introduces latency. Until the volume is fully warmed, queries that require reading uncached data blocks will run slower than normal.

AWS has published technical details about this effect.

How to improve performance after a restore

You can accelerate performance recovery by forcing the restored volume to read all of its blocks. Once blocks have been read from S3-class storage, they behave like any other EBS volume.

Methods

  1. Run a query workload to warm the volume. Execute a performance test that touches a wide range of data. Examples:

    1. Run analytical queries that scan large tables

    2. Use queries that cause sequential reads

    3. Run application load tests against the restored database

  2. Ask Aptible Support to pre warm the volume: if you open a support request, Aptible can run a block read utility that reads every block of the restored volume. This warms the volume fully without requiring you to generate your own workload.

  3. Allow time for natural warm up: normal application activity will eventually read the required blocks. Performance will gradually improve without intervention.