Skip to content

momentohq/ddb-load-generator-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Load generator for dynamodb proxies

This application uses the AWS dynamodb sdk to drive load on a dynamodb endpoint.

It supports an --accelerator-url. This url is applied to the outbound SDK request after it has been signed with sigv4. This essentially grants the receiver of this request permission to execute this request as you, on your behalf. The originally requested URL is set on an extra pos-signature header, x-uri. This has to be replaced by the proxy. If you make any mistake in the proxy, the request will fail signature validation. The proxy is only allowed to make exactly this request as you.

Broadly, there are 3 expected scenarios:

  • --scenario dynamodb --accelerator-url https://dynamodb.us-west-2.amazonaws.com/ (or an account_id.ddb alias)
  • --scenario lambda --accelerator-url https://your_function_url.lambda-url.us-west-2.on.aws/
  • --scenario functions --accelerator-url https://api.cache.cell-us-west-2-1.prod.a.momentohq.com/functions/fls/ddbaccelerator

The lambda scenario has special case handling. Since Lambda function urls mangle sigv4 headers, the accelerator-url interceptor renames the request headers before sending the request. The lambda has to replace x-uri as well as de-prefix the original headers in order to proxy the request to dynamodb.

The Lambda for this is in this workspace. The Dynamodb scenario is of course natively included in this load tester. Finally, the Function for this is found in the functions examples.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published