AWS DynamoDB Throughput Test

Throughput is the rate at which data can be read from or written to a database. Amazon DynamoDB measures throughput in two ways: read capacity units (RCUs) and write capacity units (WCUs). One RCU represents the capacity to read one item per second, while one WCU represents the capacity to write one item per second, with each item being up to 1KB in size. The amount of throughput you need for your application depends on the workload you are running. For example, if you have a high read workload, you will need more RCUs to handle the traffic. On the other hand, if you have a high write workload, you will need more WCUs. Throughput capacity is an important aspect of Amazon DynamoDB, and understanding how it is calculated and limited is crucial for optimizing your database capacity and reducing unnecessary costs.

This test monitors the target server and tracks the number and percentage of provisioned read and write capacity units. This test also reports the number and percentage utilization of the provisioned read and write capacity units. In addition, this test helps you to keep an eye on the consumed read and write rate. This way, administrators can easily detect any insufficiencies in read and write capacity units experienced by the target server. This in turn helps them to provision the provisioned RCU and WCU according to the workload before throttling events occur and affect the performance of the applications.

Target of the test : An AWS DynamoDB server

Agent deploying the test : A remote agent

Outputs of the test : One set of results for the target AWS DynamoDB server being monitored.

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed.

Host

The IP address of the AWS DynamoDB server that is being monitored.

AWS Region

This test uses AWS SDK to interact with AWS DynamoDB and pull relevant metrics. To enable the test to connect to AWS, you need to configure the test with the name of the region to which all requests for metrics should be routed, by default. Specify the name of this AWS Region in this text box.

AWS Access Key ID, AWS Secret Access Key and Confirm Password

To monitor AWS DynamoDB, the eG agent has to be configured with the access key and secret key of a user with a valid AWS account. For this purpose, we recommend that you create a special user on the AWS cloud, obtain the access and secret keys of this user, and configure this test with these keys. The procedure for this has been detailed in the Obtaining an Access key and Secret key topic. Make sure you reconfirm the access and secret keys you provide here by retyping it in the corresponding Confirm Password text box.

Timeout Seconds

Specify the maximum duration (in seconds) for which the test will wait for a response from the server. The default is 120 seconds.

DD Row Count

By default, the detailed diagnosis of this test, if enabled, will report only the top-10 tables. This is why, the DD Row Count parameter is set to 10 by default. If you want to include more or less tables in detailed diagnosis, then change the value of this parameter accordingly.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test

Measurement

Description

Measurement Unit

Interpretation

Maximum provisioned read capacity

Indicates the maximum number of provisioned read capacity units for a table or a global secondary index.

Number

If the table consumes more units than the provisioned read capacity units, then, that can cause read throttled events. This in turn is an indication to increase the read capacity units.

The detailed diagnosis of this measure shows the Table name, Global secondary index name, and Provisioned read capacity.

Minimum provisioned read capacity

Indicates the minimum number of provisioned read capacity units for a table or a global secondary index.

Number

 

Maximum consumed read capacity

Indicates the maximum number of read capacity units consumed by any individual request to the table or index.

Number

This measure helps you to track how much of your throughput is used. If the read throughput capacity is not sufficient it would lead to throttling and this would affect the base table.

The detailed diagnosis of this measure shows the Table name, Global secondary index name, and Consumed read capacity.

Minimum consumed read capacity

Indicates the minimum number of read capacity units consumed by any individual request to the table or index.

Number

 

Maximum provisioned write capacity

Indicates the maximum number of provisioned write capacity units for a table or a global secondary index.

Number

If the table consumes more units than the provisioned write capacity units, then, that can cause write throttled events. This in turn is an indication to increase the write capacity units.

The detailed diagnosis of this measure shows the Table name, Global secondary index name, and Provisioned write capacity.

Minimum provisioned write capacity

Indicates the minimum number of provisioned write capacity units for a table or a global secondary index.

Number

 

Maximum consumed write capacity

Indicates the maximum number of write capacity units consumed by any individual request to the table or index.

Number

This measure helps you to track how much of your throughput is used. If the write throughput capacity is not sufficient it would lead to throttling and this would affect the base table.

The detailed diagnosis of this measure shows the Table name, Global secondary index name, and Consumed write capacity.

Minimum consumed write capacity

Indicates the minimum number of write capacity units consumed by any individual request to the table or index.

Number

 

Maximum online index consumed write capacity

Indicates the maximum number of write capacity units consumed when adding a new global secondary index to a table.

Number

If the write capacity of the index is too low, incoming write activity during the backfill phase might be throttled. This can increase the time it takes to create the index. You should monitor this statistic while the index is being built to determine whether the write capacity of the index is under provisioned.

The detailed diagnosis of this measure shows the Table name, Global secondary index name, and Online index consumed write capacity.

Minimum online index consumed write capacity

Indicates the minimum number of write capacity units consumed when adding a new global secondary index to a table.

Number

 

Maximum online index percentage progress

Indicates the maximum percentage of completion when a new global secondary index is being added to a table.

Percent

DynamoDB must first allocate resources for the new index, and then backfill attributes from the table into the index. For large tables, this process might take a long time. Monitoring these measures helps to view the relative progress as DynamoDB builds the index.

The detailed diagnosis of this measure shows the Table name, Global secondary index name, and Online index percentage progress.

Minimum online index percentage progress

Indicates the minimum percentage of completion when a new global secondary index is being added to a table.

Percent

 

Consumed read rate

Indicates the number of read capacity units consumed per second.

Reads/Second

 

Consumed write rate

Indicates the number of write capacity units consumed per second.

Writes/Second

 

Maximum provisioned table read capacity

Indicates the maximum percentage of provisioned read capacity units for a table or a global secondary index.

Percent

 

Minimum provisioned table read capacity

Indicates the minimum percentage of provisioned read capacity units for a table or a global secondary index.

Percent

 

Maximum provisioned read capacity utilization

Indicates the maximum percentage of read capacity units utilized by any individual request to the table or index.

Percent

 

Minimum provisioned read capacity utilization

Indicates the minimum percentage of read capacity units utilized by any individual request to the table or index.

Percent

 

Maximum provisioned table write capacity

Indicates the maximum percentage of provisioned write capacity units for a table or a global secondary index.

Percent

 

Minimum provisioned table write capacity

Indicates the minimum percentage of provisioned write capacity units for a table or a global secondary index.

Percent

 

Maximum provisioned write capacity utilization

Indicates the maximum percentage of write capacity units utilized by any individual request to the table or index.

Percent

 

Minimum provisioned write capacity utilization

Indicates the minimum percentage of write capacity units utilized by any individual request to the table or index.

Percent