# Optimizing Elasticsearch Snapshot Performance to S3-Compatible Object Storage

**URL:** <https://discuss.elastic.co/t/optimizing-elasticsearch-snapshot-performance-to-s3-compatible-object-storage/380461>\
**Category:** Elastic Search\
**Tags:** snapshot-and-restore\
**Created:** [July 25, 2025, 8:37am UTC](https://discuss.elastic.co/t/optimizing-elasticsearch-snapshot-performance-to-s3-compatible-object-storage/380461 "2025-07-25T08:37:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dipayan](https://avatars.discourse-cdn.com/v4/letter/d/77aa72/32.png) [@Dipayan](https://discuss.elastic.co/u/Dipayan)\
**Post date:** [July 25, 2025, 8:37am UTC](https://discuss.elastic.co/t/optimizing-elasticsearch-snapshot-performance-to-s3-compatible-object-storage/380461/1 "2025-07-25T08:37:03Z")

</div>

Hello,

I’m currently conducting performance testing for Elasticsearch snapshots targeting an S3-compatible object storage system.

**System Configuration:**

- **Elasticsearch Cluster:** 2 nodes (master + data)
- **CPU:** 8 cores
- **RAM:** 32 GB
- **Storage:** 11 TB SSD
- **Network:** 100 Gbps

During a snapshot operation involving approximately 100 GB of data, I observed the following:

- **CPU Usage:** 0–5%
- **Memory Usage:** Peaked at 18%
- **Network Throughput:** Averaged around 40 MB/s

Despite the high-speed network, the throughput seems relatively low. I used the default Elasticsearch snapshot settings for this test.

#### **Questions:**

1. Is this level of performance considered optimal for such a setup?
2. Are there recommended configuration changes—either at the repository or cluster level—that could improve snapshot throughput?
3. Is there any official best practices guide or benchmark documentation from Elastic that I can refer to for performance tuning and comparison?

Any insights or references would be greatly appreciated.

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [July 25, 2025, 8:48am UTC](https://discuss.elastic.co/t/optimizing-elasticsearch-snapshot-performance-to-s3-compatible-object-storage/380461/2 "2025-07-25T08:48:06Z")

</div>

You can tune the parameters governing snapshot creation. By default I believe it is throttled in order to ensure it does not have a huge negative impact on cluster performance when running.

---

<div class="post-metadata">

**Author:** ![Dipayan](https://avatars.discourse-cdn.com/v4/letter/d/77aa72/32.png) [@Dipayan](https://discuss.elastic.co/u/Dipayan)\
**Post date:** [July 25, 2025, 8:49am UTC](https://discuss.elastic.co/t/optimizing-elasticsearch-snapshot-performance-to-s3-compatible-object-storage/380461/3 "2025-07-25T08:49:39Z")

</div>

Thanks, Any suggestion around the parameters ?

---

<div class="post-metadata">

**Author:** ![willemdh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/willemdh/32/16922_2.png) [@willemdh](https://discuss.elastic.co/u/willemdh)\
**Post date:** [July 29, 2025, 10:19pm UTC](https://discuss.elastic.co/t/optimizing-elasticsearch-snapshot-performance-to-s3-compatible-object-storage/380461/4 "2025-07-29T22:19:45Z")

</div>

See [Snapshot and restore settings | Reference](https://www.elastic.co/docs/reference/elasticsearch/configuration-reference/snapshot-restore-settings)

Maybe `snapshot.max_concurrent_operation`s ?

Also how big are your shards?

Have you tried playing with:

```auto
chunk_size
repository.buffer_size
max_snapshot_bytes_per_sec
max_restore_bytes_per_sec

```

> **[S3 repository | Elastic Docs](https://www.elastic.co/docs/deploy-manage/tools/snapshot-and-restore/s3-repository)**
>
> You can use AWS S3 as a repository for Snapshot/Restore. See this video for a walkthrough of connecting an AWS S3 repository. Elasticsearch communicates...

Let us know how it goes.
