Skip to content

Commit f656e03

Browse files
committed
(common): Add brief explanation of the benchmark & goals
1 parent 318c12c commit f656e03

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,18 @@
22

33
A prototype which implements a simple AWS Lambda function in several programming languages and benchmarks the relative performance.
44

5-
## Lambda functionality
6-
75
Each lambda implementation has the same functionality:
86

97
1. Read a batch of messages off an SQS queue
108
2. Validate the content of each message against the [shared JSON schema](./schema/event.json)
119
3. Write each message to a DynamoDB table with the partition key as the message's event ID and a TTL
1210

11+
The benchmark is designed to replicate real world use as much as possible.
12+
The messages are sent to SQS in as close to one go as possible which means the lambdas are all running at the same time.
13+
They all share the same DynamoDB table so need to compete for read resource.
14+
The DynamoDB table has a randomly generated partition key to avoid 'hot' partitions.
15+
Each Lambda function bundles the minimal dependencies - usually just a library for JSON Schema validation and the necessary AWS / runtime dependencies.
16+
1317
## Requirements
1418

1519
- Node >= v20

0 commit comments

Comments
 (0)