From c4c4e991ffa8bfceb6b27b81bc9e0619f8a88a1c Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Fri, 10 Jan 2025 11:24:07 -0500 Subject: [PATCH 01/10] stash commit --- .../rc/databases/configuration/clustering.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/content/operate/rc/databases/configuration/clustering.md b/content/operate/rc/databases/configuration/clustering.md index ba2aea7e4..8d2056912 100644 --- a/content/operate/rc/databases/configuration/clustering.md +++ b/content/operate/rc/databases/configuration/clustering.md @@ -189,15 +189,23 @@ Memory limits in Redis Cloud are subject to the same considerations as Redis Ent Throughput is the amount of operations a database can handle over a certain period of time. For Redis Cloud databases, throughput is defined in operations per second (ops/sec). -For a Redis Cloud Pro subscription, you define throughput for a database when you create it. For a Redis Cloud Essentials subscription, your maximum throughput depends on your plan. +For a Redis Cloud Pro subscription, you define throughput for a database when you create it. For a Redis Cloud Essentials subscription, your maximum throughput depends on your plan. -We assume a typical workload that includes a different mix of commands and an average key and value size of 1KB. Therefore, your actual throughput may be higher or lower than the throughput you set when you create your database. The following properties can affect your database's throughput: -- **Command complexity**: O(N) and O(log(N)) commands will take more time than O(1) commands, and will affect throughput accordingly. -- **Key and value sizing**: If your database's keys and values are very large, your actual throughput may be lower than expected. If the keys and values are smaller than the typical workload, the actual throughput might be higher than expected. +We use this setting to guide the allocation of compute power and network bandwidth, ensuring your database can handle the expected workload. However, the throughput specified is not guaranteed - actual throughput may be higher or lower depending on your workload and database configuration. + +The following factors can affect your database's throughput: +- **Request size**: Smaller requests consume less network bandwidth and may result in more operations per second than requested, while larger requests may result in fewer operations per second. +- **Command complexity**: Simple commands, like `GET` and `SET`, are faster and require fewer resources, whereas more complex commands involve more processing time and can reduce throughput. - **Replication**: Using [multi-zone replication]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) affects throughput as each write operation is executed asynchronously in each zone. - **Security**: Some security options, such as [transport layer security]({{< relref "/operate/rc/security/database-security/tls-ssl" >}}), may affect throughput. - **Number of client connections**: The number of client connections affects throughput. Increasing or decreasing the number of client connections can result in higher or lower throughput. +Here are some things to keep in mind for optimizing throughput: +- Optimize capacity planning and sizing of your Redis Cloud databases to meet your app performance requirements. +- Monitor your app's performance and adjust the set ops/sec based on how if performs in real-world conditions. +- + + ## Cluster API {#oss-cluster-api} {{< embed-md "oss-cluster-api-intro.md" >}} From e9f5ac62fcec2370d3f33f557e7bab7cc6f2b0d7 Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Fri, 10 Jan 2025 11:45:18 -0500 Subject: [PATCH 02/10] Update throughput section with points from Throughput draft --- content/operate/rc/databases/configuration/clustering.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/content/operate/rc/databases/configuration/clustering.md b/content/operate/rc/databases/configuration/clustering.md index 8d2056912..092ee77fd 100644 --- a/content/operate/rc/databases/configuration/clustering.md +++ b/content/operate/rc/databases/configuration/clustering.md @@ -202,9 +202,11 @@ The following factors can affect your database's throughput: Here are some things to keep in mind for optimizing throughput: - Optimize capacity planning and sizing of your Redis Cloud databases to meet your app performance requirements. -- Monitor your app's performance and adjust the set ops/sec based on how if performs in real-world conditions. -- - +- Benchmark your app to understand what latency expectations are required, and adjust throughput accordingly. +- Test and monitor your app's performance and adjust the set ops/sec based on how if performs in real-world conditions. +- If your average request size is larger than 3KB, set your throughput higher than expected. +- Track the slow logs using the [`SLOWLOG` command]({{< relref "/commands/slowlog" >}}) or the **Slowlog** tab on the [database screen]({{< relref "/operate/rc/databases/view-edit-database" >}}). +- Use [pipelining]({{< relref "/develop/use/pipelining" >}}) and [concurrent connections]({{< relref "/develop/reference/clients" >}}) effectively to optimize throughput and latency. ## Cluster API {#oss-cluster-api} From d5fdaf0cb5dc329abdb7e48cfbba5d6653b16a40 Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Mon, 13 Jan 2025 12:34:43 -0500 Subject: [PATCH 03/10] Moved throughput and dataset size to new sizing page --- content/operate/rc/changelog/may-2024.md | 2 +- .../rc/databases/configuration/clustering.md | 43 ------------- .../rc/databases/configuration/sizing.md | 60 +++++++++++++++++++ .../create-active-active-database.md | 2 +- .../create-pro-database-existing.md | 4 +- .../create-pro-database-new.md | 2 +- 6 files changed, 65 insertions(+), 48 deletions(-) create mode 100644 content/operate/rc/databases/configuration/sizing.md diff --git a/content/operate/rc/changelog/may-2024.md b/content/operate/rc/changelog/may-2024.md index e8a71f0f4..d4fc70172 100644 --- a/content/operate/rc/changelog/may-2024.md +++ b/content/operate/rc/changelog/may-2024.md @@ -42,7 +42,7 @@ For Redis Cloud Essentials, the plan size refers to the full memory limit, not t For Redis Cloud Pro, you define your dataset size when you create the database, and we calculate your total memory limit automatically based on the features you choose. -See [Dataset size]({{< relref "/operate/rc/databases/configuration/clustering#dataset-size" >}}) for more information. +See [Dataset size]({{< relref "/operate/rc/databases/configuration/sizing#dataset-size" >}}) for more information. ## Deprecations diff --git a/content/operate/rc/databases/configuration/clustering.md b/content/operate/rc/databases/configuration/clustering.md index 092ee77fd..8471f422d 100644 --- a/content/operate/rc/databases/configuration/clustering.md +++ b/content/operate/rc/databases/configuration/clustering.md @@ -165,49 +165,6 @@ their order to suit your application's requirements. - **PCRE_ANCHORED:** the pattern is constrained to match only at the start of the string which is being searched. -## Dataset size {#dataset-size} - -The dataset size of a database is a part of the full memory limit for the database. The memory limit represents the maximum amount of memory for the database, which includes data values, keys, module data, and overhead for specific features. High availability features, such as replication and Active-Active, increase memory consumption, so in those cases your dataset size and memory limit will be different. - -For Redis Cloud Essentials, the plan size refers to the full memory limit, not the dataset size. Both the total memory limit and dataset size are listed under **Database details** when you create an Essentials database. - -For Redis Cloud Pro, you define your dataset size when you create the database, and we calculate your total memory limit based on the features you choose. - -Here are some general guidelines: - -- Memory limit represents an upper limit. You cannot store more data than the memory limit. Depending on your other selections, available memory for data may be less than expected. - -- [Replication]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) doubles memory consumption; that is, 512 MB of data requires at least 1 GB of memory limit when replication is enabled. This affects both Redis Cloud Pro and Redis Cloud Essentials. For example, if you subscribe to a 1 GB Essentials plan, Redis will allocate 512 MB for your dataset and the other 512 MB for replication. - -- [Active-Active]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) also doubles memory consumption and the effect is cumulative with replication's impact. Since Active-Active requires replication to be turned on, the memory limit impact can be as large as four times (4x) the original data size. - -- [Advanced capabilities]({{< relref "/operate/rc/databases/configuration/advanced-capabilities" >}}) also consume memory. For search databases, consider index size when you size your database. - -Memory limits in Redis Cloud are subject to the same considerations as Redis Enterprise Software; to learn more, see [Database memory limits]({{< relref "/operate/rs/databases/memory-performance/memory-limit" >}}). - -## Throughput - -Throughput is the amount of operations a database can handle over a certain period of time. For Redis Cloud databases, throughput is defined in operations per second (ops/sec). - -For a Redis Cloud Pro subscription, you define throughput for a database when you create it. For a Redis Cloud Essentials subscription, your maximum throughput depends on your plan. - -We use this setting to guide the allocation of compute power and network bandwidth, ensuring your database can handle the expected workload. However, the throughput specified is not guaranteed - actual throughput may be higher or lower depending on your workload and database configuration. - -The following factors can affect your database's throughput: -- **Request size**: Smaller requests consume less network bandwidth and may result in more operations per second than requested, while larger requests may result in fewer operations per second. -- **Command complexity**: Simple commands, like `GET` and `SET`, are faster and require fewer resources, whereas more complex commands involve more processing time and can reduce throughput. -- **Replication**: Using [multi-zone replication]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) affects throughput as each write operation is executed asynchronously in each zone. -- **Security**: Some security options, such as [transport layer security]({{< relref "/operate/rc/security/database-security/tls-ssl" >}}), may affect throughput. -- **Number of client connections**: The number of client connections affects throughput. Increasing or decreasing the number of client connections can result in higher or lower throughput. - -Here are some things to keep in mind for optimizing throughput: -- Optimize capacity planning and sizing of your Redis Cloud databases to meet your app performance requirements. -- Benchmark your app to understand what latency expectations are required, and adjust throughput accordingly. -- Test and monitor your app's performance and adjust the set ops/sec based on how if performs in real-world conditions. -- If your average request size is larger than 3KB, set your throughput higher than expected. -- Track the slow logs using the [`SLOWLOG` command]({{< relref "/commands/slowlog" >}}) or the **Slowlog** tab on the [database screen]({{< relref "/operate/rc/databases/view-edit-database" >}}). -- Use [pipelining]({{< relref "/develop/use/pipelining" >}}) and [concurrent connections]({{< relref "/develop/reference/clients" >}}) effectively to optimize throughput and latency. - ## Cluster API {#oss-cluster-api} {{< embed-md "oss-cluster-api-intro.md" >}} diff --git a/content/operate/rc/databases/configuration/sizing.md b/content/operate/rc/databases/configuration/sizing.md new file mode 100644 index 000000000..221b543eb --- /dev/null +++ b/content/operate/rc/databases/configuration/sizing.md @@ -0,0 +1,60 @@ +--- +Title: Size a Redis Cloud Database +alwaysopen: false +categories: +- docs +- operate +- rc +description: +linkTitle: Sizing +weight: $weight +--- + +## Dataset size {#dataset-size} + +The dataset size of a database is a part of the full memory limit for the database. The memory limit represents the maximum amount of memory for the database, which includes data values, keys, module data, and overhead for specific features. High availability features, such as replication and Active-Active, increase memory consumption, so in those cases your dataset size and memory limit will be different. + +For Redis Cloud Essentials, the plan size refers to the full memory limit, not the dataset size. Both the total memory limit and dataset size are listed under **Database details** when you create an Essentials database. + +For Redis Cloud Pro, you define your dataset size when you create the database, and we calculate your total memory limit based on the features you choose. + +Here are some general guidelines: + +- Memory limit represents an upper limit. You cannot store more data than the memory limit. Depending on your other selections, available memory for data may be less than expected. + +- [Replication]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) doubles memory consumption; that is, 512 MB of data requires at least 1 GB of memory limit when replication is enabled. This affects both Redis Cloud Pro and Redis Cloud Essentials. For example, if you subscribe to a 1 GB Essentials plan, Redis will allocate 512 MB for your dataset and the other 512 MB for replication. + +- [Active-Active]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) also doubles memory consumption and the effect is cumulative with replication's impact. Since Active-Active requires replication to be turned on, the memory limit impact can be as large as four times (4x) the original data size. + +- [Advanced capabilities]({{< relref "/operate/rc/databases/configuration/advanced-capabilities" >}}) also consume memory. For search databases, consider index size when you size your database. See [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more info. + +Memory limits in Redis Cloud are subject to the same considerations as Redis Enterprise Software; to learn more, see [Database memory limits]({{< relref "/operate/rs/databases/memory-performance/memory-limit" >}}). + +## Throughput + +Throughput is the amount of operations a database can handle over a certain period of time. For Redis Cloud databases, throughput is defined in operations per second (ops/sec). + +For a Redis Cloud Pro subscription, you define throughput for a database when you create it. For a Redis Cloud Essentials subscription, your maximum throughput depends on your plan. + +We use this setting to guide the allocation of compute power and network bandwidth, ensuring your database can handle the expected workload. However, the throughput specified is not guaranteed - actual throughput may be higher or lower depending on your workload and database configuration. + +### Why can throughput vary? + +The following factors can affect your database's throughput: +- **Request size**: Smaller requests (under 3KB) consume less network bandwidth and may result in more operations per second than requested, while larger requests may result in fewer operations per second. +- **Command complexity**: Simple commands, like `GET` and `SET`, are faster and require fewer resources, whereas more complex commands involve more processing time and can reduce throughput. +- **Replication**: Using [multi-zone replication]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) affects throughput as each write operation is executed asynchronously in each zone. +- **Security**: Some security options, such as [transport layer security]({{< relref "/operate/rc/security/database-security/tls-ssl" >}}), may affect throughput. +- **Number of client connections**: The number of client connections affects throughput. Increasing or decreasing the number of client connections can result in higher or lower throughput. + +### Optimize throughput + +Here are some things to keep in mind for optimizing throughput: +- Optimize capacity planning and sizing of your Redis Cloud databases to meet your app performance requirements. +- Benchmark your app to understand what latency expectations are required, and adjust throughput accordingly. +- Test and monitor your app's performance and adjust the set ops/sec based on how if performs in real-world conditions. +- If your average request size is larger than 3KB, set your throughput higher than expected. +- If you consistently notice that throughput is higher than expected, consider lowering your set ops/sec to reduce costs. +- Track the slow logs using the [`SLOWLOG` command]({{< relref "/commands/slowlog" >}}) or the **Slowlog** tab on the [database screen]({{< relref "/operate/rc/databases/view-edit-database" >}}). +- Use [pipelining]({{< relref "/develop/use/pipelining" >}}) and [concurrent connections]({{< relref "/develop/reference/clients" >}}) effectively to optimize throughput and latency. +- Search databases have their own throughput requirements. See [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more info. \ No newline at end of file diff --git a/content/operate/rc/databases/create-database/create-active-active-database.md b/content/operate/rc/databases/create-database/create-active-active-database.md index c6ffaf5c2..2b968b3f7 100644 --- a/content/operate/rc/databases/create-database/create-active-active-database.md +++ b/content/operate/rc/databases/create-database/create-active-active-database.md @@ -189,7 +189,7 @@ Use the **Database list** to check the status of your databases. - [Create a Pro database with a new subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-new" >}}) - [Active-Active Redis]({{< relref "/operate/rc/databases/configuration/active-active-redis" >}}) - [Develop applications with Active-Active databases]({{< relref "/operate/rs/databases/active-active/develop/_index.md" >}}) -- Database [memory limit]({{< relref "/operate/rc/databases/configuration/clustering#dataset-size" >}}) +- Database [memory limit]({{< relref "/operate/rc/databases/configuration/sizing#dataset-size" >}}) - Redis Cloud [subscription plans]({{< relref "/operate/rc/subscriptions/" >}}) - [Redis Cloud pricing](https://redis.io/pricing/#monthly) diff --git a/content/operate/rc/databases/create-database/create-pro-database-existing.md b/content/operate/rc/databases/create-database/create-pro-database-existing.md index 1c31d24d2..d09299663 100644 --- a/content/operate/rc/databases/create-database/create-pro-database-existing.md +++ b/content/operate/rc/databases/create-database/create-pro-database-existing.md @@ -63,8 +63,8 @@ The **Scalability** section lets you manage the maximum size, throughput, and ha | Setting name | Description | |:--------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **Dataset size** | Maximum size (in GB) for your dataset. See [Dataset size]({{< relref "/operate/rc/databases/configuration/clustering#dataset-size" >}}) for sizing considerations.
Databases with Search and query have specific size requirements, see [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more information. | -| **Throughput** | Defines throughput in terms of maximum operations per second for the database. See [Throughput]({{< relref "/operate/rc/databases/configuration/clustering#throughput" >}}) for more info.
Databases with Search and query have specific throughput requirements, see [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more information. | +| **Dataset size** | Maximum size (in GB) for your dataset. See [Dataset size]({{< relref "/operate/rc/databases/configuration/sizing#dataset-size" >}}) for sizing considerations.
Databases with Search and query have specific size requirements, see [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more information. | +| **Throughput** | Defines throughput in terms of maximum operations per second for the database. See [Throughput]({{< relref "/operate/rc/databases/configuration/sizing#throughput" >}}) for more info.
Databases with Search and query have specific throughput requirements, see [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more information. | | **High availability** | Replicates your data across multiple nodes, as allowed by your subscription plan. See [High availability]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) for more info| | **Hashing policy** | Defines the [hashing policy]({{< relref "/operate/rc/databases/configuration/clustering#manage-the-hashing-policy" >}}). | | **OSS Cluster API** | Enables the [Cluster API]({{< relref "/operate/rc/databases/configuration/clustering#oss-cluster-api" >}}) for a database

When this option is enabled, you cannot define a custom hashing policy. | diff --git a/content/operate/rc/databases/create-database/create-pro-database-new.md b/content/operate/rc/databases/create-database/create-pro-database-new.md index f3995c233..9ba01bd10 100644 --- a/content/operate/rc/databases/create-database/create-pro-database-new.md +++ b/content/operate/rc/databases/create-database/create-pro-database-new.md @@ -54,7 +54,7 @@ If you choose to create your database with Easy create: | Database setting | Description | |:---------|:-----------| | **Dataset size (GB)** | The amount of data for your dataset. Specify small sizes as decimals of 1.0 GB; example: `0.1` GB (minimum). We calculate the total memory limit for you based on the other settings you choose for your database.
Databases with Search and query have specific sizing requirements, see [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more information. | - | **Throughput** | Identifies maximum throughput for the database, which is specified in terms of operations per second (**Ops/sec**). See [Throughput]({{< relref "/operate/rc/databases/configuration/clustering#throughput" >}}) for more information.
Databases with Search and query have specific throughput requirements, see [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more information. | + | **Throughput** | Identifies maximum throughput for the database, which is specified in terms of operations per second (**Ops/sec**). See [Throughput]({{< relref "/operate/rc/databases/configuration/sizing#throughput" >}}) for more information.
Databases with Search and query have specific throughput requirements, see [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more information. | | **High Availability** | Indicates whether a replica copy of the database is maintained in case the primary database becomes unavailable. (Warning: doubles memory consumption). See [High Availability]({{< relref "/operate/rc/databases/configuration/high-availability" >}}). | 1. Select **View all settings** to review the database settings that we selected for you based on your use case. From 433de2b47de56d86c59ccd372b774f970c6674a2 Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Tue, 14 Jan 2025 10:09:41 -0500 Subject: [PATCH 04/10] Add FAQs --- .../rc/databases/configuration/sizing.md | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/content/operate/rc/databases/configuration/sizing.md b/content/operate/rc/databases/configuration/sizing.md index 221b543eb..579bb2d9c 100644 --- a/content/operate/rc/databases/configuration/sizing.md +++ b/content/operate/rc/databases/configuration/sizing.md @@ -5,7 +5,7 @@ categories: - docs - operate - rc -description: +description: Describes sizing considerations for your Redis Cloud database, including throughput and dataset size. linkTitle: Sizing weight: $weight --- @@ -38,7 +38,7 @@ For a Redis Cloud Pro subscription, you define throughput for a database when yo We use this setting to guide the allocation of compute power and network bandwidth, ensuring your database can handle the expected workload. However, the throughput specified is not guaranteed - actual throughput may be higher or lower depending on your workload and database configuration. -### Why can throughput vary? +### Throughput factors and variability The following factors can affect your database's throughput: - **Request size**: Smaller requests (under 3KB) consume less network bandwidth and may result in more operations per second than requested, while larger requests may result in fewer operations per second. @@ -57,4 +57,26 @@ Here are some things to keep in mind for optimizing throughput: - If you consistently notice that throughput is higher than expected, consider lowering your set ops/sec to reduce costs. - Track the slow logs using the [`SLOWLOG` command]({{< relref "/commands/slowlog" >}}) or the **Slowlog** tab on the [database screen]({{< relref "/operate/rc/databases/view-edit-database" >}}). - Use [pipelining]({{< relref "/develop/use/pipelining" >}}) and [concurrent connections]({{< relref "/develop/reference/clients" >}}) effectively to optimize throughput and latency. -- Search databases have their own throughput requirements. See [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more info. \ No newline at end of file +- Search databases have their own throughput requirements. See [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more info. + +### Frequently asked questions + +#### Can my workload exceed the configured throughput? + +Yes, many workloads perform better than expected, especially with optimized configurations and ideal conditions. + +#### Why is my application getting less throughput than what I set? + +Factors like high connection counts, complex commands, large payloads, and network limitations can affect throughput. Test and adjust based on your application’s needs. + +#### How do I know the optimal throughput for my application? + +Start with the expected ops/sec. Most of the time, it’s more than enough. For an average request size of less than 3KB, we suggest specifying lower ops/sec than expected to reduce costs. For request sizes higher than 3 KB, we suggest specifying higher ops/sec than your target. Benchmarking your application under production-like conditions will help you find the best configuration. + +#### How does network bandwidth impact throughput? + +Insufficient bandwidth can bottleneck performance, especially with large request sizes. Ensure your network setup supports your workload demands. + +#### What is the expected latency for my application? + +Latency expectations vary by use case. Some applications tolerate milliseconds, while others require sub-millisecond performance. Benchmark your application to understand its latency profile. \ No newline at end of file From dc0185f203fcb97f8fa4ed018aa17163eacb2ada Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Thu, 16 Jan 2025 10:29:35 -0500 Subject: [PATCH 05/10] Feedback from Noam --- .../rc/databases/configuration/sizing.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/content/operate/rc/databases/configuration/sizing.md b/content/operate/rc/databases/configuration/sizing.md index 579bb2d9c..90841d48e 100644 --- a/content/operate/rc/databases/configuration/sizing.md +++ b/content/operate/rc/databases/configuration/sizing.md @@ -40,7 +40,7 @@ We use this setting to guide the allocation of compute power and network bandwid ### Throughput factors and variability -The following factors can affect your database's throughput: +Some factors that can affect throughput include: - **Request size**: Smaller requests (under 3KB) consume less network bandwidth and may result in more operations per second than requested, while larger requests may result in fewer operations per second. - **Command complexity**: Simple commands, like `GET` and `SET`, are faster and require fewer resources, whereas more complex commands involve more processing time and can reduce throughput. - **Replication**: Using [multi-zone replication]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) affects throughput as each write operation is executed asynchronously in each zone. @@ -53,30 +53,29 @@ Here are some things to keep in mind for optimizing throughput: - Optimize capacity planning and sizing of your Redis Cloud databases to meet your app performance requirements. - Benchmark your app to understand what latency expectations are required, and adjust throughput accordingly. - Test and monitor your app's performance and adjust the set ops/sec based on how if performs in real-world conditions. -- If your average request size is larger than 3KB, set your throughput higher than expected. -- If you consistently notice that throughput is higher than expected, consider lowering your set ops/sec to reduce costs. +- If your average request size is larger than 3KB, consider setting your throughput higher than expected. - Track the slow logs using the [`SLOWLOG` command]({{< relref "/commands/slowlog" >}}) or the **Slowlog** tab on the [database screen]({{< relref "/operate/rc/databases/view-edit-database" >}}). - Use [pipelining]({{< relref "/develop/use/pipelining" >}}) and [concurrent connections]({{< relref "/develop/reference/clients" >}}) effectively to optimize throughput and latency. - Search databases have their own throughput requirements. See [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more info. ### Frequently asked questions -#### Can my workload exceed the configured throughput? +**Can my workload exceed the configured throughput?** Yes, many workloads perform better than expected, especially with optimized configurations and ideal conditions. -#### Why is my application getting less throughput than what I set? +**Why is my application getting less throughput than what I set?** Factors like high connection counts, complex commands, large payloads, and network limitations can affect throughput. Test and adjust based on your application’s needs. -#### How do I know the optimal throughput for my application? +**How do I know the optimal throughput for my application?** Start with the expected ops/sec. Most of the time, it’s more than enough. For an average request size of less than 3KB, we suggest specifying lower ops/sec than expected to reduce costs. For request sizes higher than 3 KB, we suggest specifying higher ops/sec than your target. Benchmarking your application under production-like conditions will help you find the best configuration. -#### How does network bandwidth impact throughput? +**How does network bandwidth impact throughput?** -Insufficient bandwidth can bottleneck performance, especially with large request sizes. Ensure your network setup supports your workload demands. +Insufficient bandwidth can bottleneck performance, especially with large request sizes. -#### What is the expected latency for my application? +**What is the expected latency for my application?** Latency expectations vary by use case. Some applications tolerate milliseconds, while others require sub-millisecond performance. Benchmark your application to understand its latency profile. \ No newline at end of file From e6755eaac95e9d120a44f10d6597de9e18e4ae90 Mon Sep 17 00:00:00 2001 From: Cameron Bates <102550101+cmilesb@users.noreply.github.com> Date: Thu, 16 Jan 2025 13:11:42 -0500 Subject: [PATCH 06/10] Update content/operate/rc/databases/configuration/sizing.md --- content/operate/rc/databases/configuration/sizing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/rc/databases/configuration/sizing.md b/content/operate/rc/databases/configuration/sizing.md index 90841d48e..4e8374165 100644 --- a/content/operate/rc/databases/configuration/sizing.md +++ b/content/operate/rc/databases/configuration/sizing.md @@ -42,7 +42,7 @@ We use this setting to guide the allocation of compute power and network bandwid Some factors that can affect throughput include: - **Request size**: Smaller requests (under 3KB) consume less network bandwidth and may result in more operations per second than requested, while larger requests may result in fewer operations per second. -- **Command complexity**: Simple commands, like `GET` and `SET`, are faster and require fewer resources, whereas more complex commands involve more processing time and can reduce throughput. +- **Command complexity**: Simple commands, like `GET` and `SET`, are faster and require fewer resources, whereas more complex commands involve more processing time and can reduce throughput. See the [Command list]({{< relref "/commands" >}}) to see which commands are more complex than others. - **Replication**: Using [multi-zone replication]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) affects throughput as each write operation is executed asynchronously in each zone. - **Security**: Some security options, such as [transport layer security]({{< relref "/operate/rc/security/database-security/tls-ssl" >}}), may affect throughput. - **Number of client connections**: The number of client connections affects throughput. Increasing or decreasing the number of client connections can result in higher or lower throughput. From 44cfcdad1e42c01c05ba237ba2ac495a74a9946a Mon Sep 17 00:00:00 2001 From: Cameron Bates <102550101+cmilesb@users.noreply.github.com> Date: Tue, 21 Jan 2025 13:13:47 -0500 Subject: [PATCH 07/10] Apply suggestions from code review Co-authored-by: Kaitlyn Michael <76962844+kaitlynmichael@users.noreply.github.com> --- content/operate/rc/databases/configuration/sizing.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/operate/rc/databases/configuration/sizing.md b/content/operate/rc/databases/configuration/sizing.md index 4e8374165..f62ba578c 100644 --- a/content/operate/rc/databases/configuration/sizing.md +++ b/content/operate/rc/databases/configuration/sizing.md @@ -1,5 +1,5 @@ --- -Title: Size a Redis Cloud Database +Title: Size a Redis Cloud database alwaysopen: false categories: - docs @@ -12,7 +12,7 @@ weight: $weight ## Dataset size {#dataset-size} -The dataset size of a database is a part of the full memory limit for the database. The memory limit represents the maximum amount of memory for the database, which includes data values, keys, module data, and overhead for specific features. High availability features, such as replication and Active-Active, increase memory consumption, so in those cases your dataset size and memory limit will be different. +The dataset size of a database is a part of the full memory limit for the database. The memory limit represents the maximum amount of memory for the database, which includes data values, keys, module data, and overhead for specific features. High availability features, such as replication and Active-Active, increase memory consumption, so your dataset size and memory limit will be different. For Redis Cloud Essentials, the plan size refers to the full memory limit, not the dataset size. Both the total memory limit and dataset size are listed under **Database details** when you create an Essentials database. @@ -32,7 +32,7 @@ Memory limits in Redis Cloud are subject to the same considerations as Redis Ent ## Throughput -Throughput is the amount of operations a database can handle over a certain period of time. For Redis Cloud databases, throughput is defined in operations per second (ops/sec). +Throughput is the number of operations a database can handle over a certain period of time. For Redis Cloud databases, throughput is defined in operations per second (ops/sec). For a Redis Cloud Pro subscription, you define throughput for a database when you create it. For a Redis Cloud Essentials subscription, your maximum throughput depends on your plan. From 199ec6e0e17b18e68ae126610d93b0f4de2c1a4e Mon Sep 17 00:00:00 2001 From: Cameron Bates Date: Tue, 21 Jan 2025 14:32:33 -0500 Subject: [PATCH 08/10] Change "Scalability" section to "Performance" section --- .../rc/databases/configuration/clustering.md | 2 +- .../create-pro-database-existing.md | 6 ++--- .../rc/databases/view-edit-database.md | 24 ++++++++---------- ...configuration-tab-scalability-flexible.png | Bin 29386 -> 33490 bytes .../rc/database-new-flexible-scalability.png | Bin 32798 -> 37137 bytes 5 files changed, 15 insertions(+), 17 deletions(-) diff --git a/content/operate/rc/databases/configuration/clustering.md b/content/operate/rc/databases/configuration/clustering.md index 8471f422d..d9576c41f 100644 --- a/content/operate/rc/databases/configuration/clustering.md +++ b/content/operate/rc/databases/configuration/clustering.md @@ -169,7 +169,7 @@ their order to suit your application's requirements. {{< embed-md "oss-cluster-api-intro.md" >}} -The Cluster API is only supported on Redis Cloud Pro databases. You can enable it in the Scalability section of the configuration screen. +The Cluster API is only supported on Redis Cloud Pro databases. You can enable it in the Performance section of the configuration screen. The Redis Cluster API is supported only when a database uses the [standard hashing policy](#standard-hashing-policy) and does not use Search and Query or Time Series advanced capabilities. diff --git a/content/operate/rc/databases/create-database/create-pro-database-existing.md b/content/operate/rc/databases/create-database/create-pro-database-existing.md index d09299663..f4447f8c8 100644 --- a/content/operate/rc/databases/create-database/create-pro-database-existing.md +++ b/content/operate/rc/databases/create-database/create-pro-database-existing.md @@ -55,11 +55,11 @@ The available settings vary according to your subscription plan: | **Query performance factor** | *(Search and query databases on Redis 7.2 or later only)* Adds additional compute power to process your query and vector search workloads and boost your queries per second. See [Search and query sizing]({{< relref "/operate/rc/databases/configuration/advanced-capabilities#search-and-query-sizing" >}}) for more information. | | **Supported Protocol(s)** | Choose between RESP2 and RESP3 _(Redis 7.2 only)_. See [Redis serialization protocol]({{< relref "/develop/reference/protocol-spec" >}}#resp-versions) for details | -## Scalability section +## Performance section -The **Scalability** section lets you manage the maximum size, throughput, and hashing policy for a database. +The **Performance** section lets you manage the maximum size, throughput, and hashing policy for a database. -{{Use the Scalability section to control the size, throughput, and hashing policy for a database.}} +{{Use the Performance section to control the size, throughput, and hashing policy for a database.}} | Setting name | Description | |:--------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| diff --git a/content/operate/rc/databases/view-edit-database.md b/content/operate/rc/databases/view-edit-database.md index 87f342417..6e04e6316 100644 --- a/content/operate/rc/databases/view-edit-database.md +++ b/content/operate/rc/databases/view-edit-database.md @@ -56,24 +56,22 @@ The available settings vary according to your plan, cloud provider, and design c | **Supported Protocol(s)** | Shows which version of RESP the database uses. See [Redis serialization protocol]({{< relref "/develop/reference/protocol-spec" >}}#resp-versions) for details | | **Advanced Capabilites** | This setting appears when an [advanced capability]({{< relref "/operate/rc/databases/configuration/advanced-capabilities" >}}) is enabled for a database | -### Scalability section +### Performance section -The **Scalability** section describes the memory size, throughput, and hashing policy for a database. +The **Performance** section describes the memory size, throughput, and hashing policy for a database. -{{Use the Scalability section to control the size, throughput, and hashing policy for a database.}} - -The **Scalability** section is primarily for Redis Cloud Pro plans. Redis Cloud Essentials plans have options for memory limit and memory used. +{{Use the Performance section to control the size, throughput, and hashing policy for a database.}} | Setting name |Description| |:----------------------|:----------| -| **Dataset size** | Maximum size (in GB) for your dataset. | +| **Dataset size** | Maximum size (in GB) for your dataset. See [Dataset size]({{< relref "/operate/rc/configuration/sizing#dataset-size" >}}). | +| **Throughput** | Defines [throughput]({{< relref "/operate/rc/configuration/sizing#throughput" >}}) in terms of maximum operations per second for the database (_Redis Cloud Pro only_). | | **Memory used** | Memory currently used for your database. | -| **Throughput** | Defines throughput in terms of maximum operations per second for the database | | **High availability** | Replicates your data across multiple nodes; [available options]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) depend on your plan type | -| **Hashing policy** | Defines the [hashing policy]({{< relref "/operate/rc/databases/configuration/clustering#manage-the-hashing-policy" >}}). | -| **OSS Cluster API** | Enables the [Cluster API]({{< relref "/operate/rc/databases/create-database#oss-cluster-api" >}}) for a database.

When this option is enabled, you cannot define a custom hashing policy.| +| **Hashing policy** | Defines the [hashing policy]({{< relref "/operate/rc/databases/configuration/clustering#manage-the-hashing-policy" >}}) (_Redis Cloud Pro only_). | +| **OSS Cluster API** | Enables the [Cluster API]({{< relref "/operate/rc/configuration/clustering#cluster-api" >}}) for a database (_Redis Cloud Pro only_).

When this option is enabled, you cannot define a custom hashing policy.| -To learn more about these settings and when to use them, see [Database clustering]({{< relref "/operate/rc/databases/configuration/clustering" >}}). +To learn more about these settings and when to use them, see [Sizing]({{< relref "/operate/rc/configuration/sizing" >}}) and [Database clustering]({{< relref "/operate/rc/databases/configuration/clustering" >}}). ### Durability section @@ -200,12 +198,12 @@ Here's what you can change: | General | Database name || | | Supported protocol(s) || | | Tags || -| Scalability | Memory limit | | +| Performance | Dataset size | | +| | High-availability | _Paid plans only_ | | | Throughput | _Pro plans only_ | | | Hashing policy | _Pro plans only_ | | | OSS Cluster API | _Pro plans only_ | -| Durability | High-availability | _Paid plans only_ | -| | Data persistence | _Paid plans only_ | +| Durability | Data persistence | _Paid plans only_ | | | Data eviction policy | | | | Remote backup | _Paid plans only_ | | | Active-Passive Redis | _Pro plans only_ | diff --git a/static/images/rc/database-details-configuration-tab-scalability-flexible.png b/static/images/rc/database-details-configuration-tab-scalability-flexible.png index c684401531d29e87c247d556afa0aff4c766d2a7..b711e337d8b688b89bbdddfe2e68ff5b4fd20d60 100644 GIT binary patch literal 33490 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 literal 29386 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 Ti9J;4h4FhF-5pBoys!KPS-GoD literal 32798 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 Date: Tue, 21 Jan 2025 14:53:05 -0500 Subject: [PATCH 09/10] Apply suggestions from code review --- content/operate/rc/databases/view-edit-database.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/operate/rc/databases/view-edit-database.md b/content/operate/rc/databases/view-edit-database.md index 6e04e6316..0784a2578 100644 --- a/content/operate/rc/databases/view-edit-database.md +++ b/content/operate/rc/databases/view-edit-database.md @@ -64,12 +64,12 @@ The **Performance** section describes the memory size, throughput, and hashing p | Setting name |Description| |:----------------------|:----------| -| **Dataset size** | Maximum size (in GB) for your dataset. See [Dataset size]({{< relref "/operate/rc/configuration/sizing#dataset-size" >}}). | -| **Throughput** | Defines [throughput]({{< relref "/operate/rc/configuration/sizing#throughput" >}}) in terms of maximum operations per second for the database (_Redis Cloud Pro only_). | +| **Dataset size** | Maximum size (in GB) for your dataset. See [Dataset size]({{< relref "/operate/rc/databases/configuration/sizing#dataset-size" >}}). | +| **Throughput** | Defines [throughput]({{< relref "/operate/rc/databases/configuration/sizing#throughput" >}}) in terms of maximum operations per second for the database (_Redis Cloud Pro only_). | | **Memory used** | Memory currently used for your database. | | **High availability** | Replicates your data across multiple nodes; [available options]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) depend on your plan type | | **Hashing policy** | Defines the [hashing policy]({{< relref "/operate/rc/databases/configuration/clustering#manage-the-hashing-policy" >}}) (_Redis Cloud Pro only_). | -| **OSS Cluster API** | Enables the [Cluster API]({{< relref "/operate/rc/configuration/clustering#cluster-api" >}}) for a database (_Redis Cloud Pro only_).

When this option is enabled, you cannot define a custom hashing policy.| +| **OSS Cluster API** | Enables the [Cluster API]({{< relref "/operate/rc/databases/configuration/clustering#oss-cluster-api" >}}) for a database (_Redis Cloud Pro only_).

When this option is enabled, you cannot define a custom hashing policy.| To learn more about these settings and when to use them, see [Sizing]({{< relref "/operate/rc/configuration/sizing" >}}) and [Database clustering]({{< relref "/operate/rc/databases/configuration/clustering" >}}). From 678d418424654c4f86d3d7856fd41ab940b78c5f Mon Sep 17 00:00:00 2001 From: Cameron Bates <102550101+cmilesb@users.noreply.github.com> Date: Tue, 21 Jan 2025 15:07:00 -0500 Subject: [PATCH 10/10] Update content/operate/rc/databases/view-edit-database.md --- content/operate/rc/databases/view-edit-database.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operate/rc/databases/view-edit-database.md b/content/operate/rc/databases/view-edit-database.md index 0784a2578..883c21e0f 100644 --- a/content/operate/rc/databases/view-edit-database.md +++ b/content/operate/rc/databases/view-edit-database.md @@ -71,7 +71,7 @@ The **Performance** section describes the memory size, throughput, and hashing p | **Hashing policy** | Defines the [hashing policy]({{< relref "/operate/rc/databases/configuration/clustering#manage-the-hashing-policy" >}}) (_Redis Cloud Pro only_). | | **OSS Cluster API** | Enables the [Cluster API]({{< relref "/operate/rc/databases/configuration/clustering#oss-cluster-api" >}}) for a database (_Redis Cloud Pro only_).

When this option is enabled, you cannot define a custom hashing policy.| -To learn more about these settings and when to use them, see [Sizing]({{< relref "/operate/rc/configuration/sizing" >}}) and [Database clustering]({{< relref "/operate/rc/databases/configuration/clustering" >}}). +To learn more about these settings and when to use them, see [Sizing]({{< relref "/operate/rc/databases/configuration/sizing" >}}) and [Database clustering]({{< relref "/operate/rc/databases/configuration/clustering" >}}). ### Durability section