-
Notifications
You must be signed in to change notification settings - Fork 909
DynamoDb Enhanced perf testing #1726
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
8c7102a
to
f02489a
Compare
|
f02489a
to
32fb142
Compare
|
868da82
to
c801b53
Compare
4786064
to
77948bb
Compare
77948bb
to
667b130
Compare
<dependency> | ||
<groupId>software.amazon.awssdk</groupId> | ||
<artifactId>dynamodb-enhanced</artifactId> | ||
<version>${awsjavasdk.version}-PREVIEW</version> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a TODO here so we don't forget?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure
private static final AwsJsonProtocolFactory JSON_PROTOCOL_FACTORY = AwsJsonProtocolFactory | ||
.builder() | ||
.clientConfiguration(SdkClientConfiguration.builder() | ||
.option(ENDPOINT, URI.create("https://dynamodb.amazonaws.com")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's this endpoint?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was to stop the numerous profile loader related log messages
|
||
|
||
@Benchmark | ||
public Object llGet(TestState s) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can write out better method names here
b.setListAttr(Arrays.asList(randomS(), | ||
randomS(), | ||
randomS(), | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why the seemingly random new lines? Also can we just for loop something here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The lines break them up in to powers of 2. I can change to using a loop
<dependency> | ||
<groupId>com.amazonaws</groupId> | ||
<artifactId>aws-java-sdk-dynamodb</artifactId> | ||
<version>1.11.748</version> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really need v1 here long term? Once we have a good baseline for v2, can we just track v2?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can remove it in the future, but while we're iterating on the performance we should have this in here.
667b130
to
edd33dc
Compare
buildspecs/benchmarks.yml
Outdated
- java -jar target/benchmarks.jar -f 1 -wi 8 -i 8 software.amazon.awssdk.benchmark.enhanced.dynamodb |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
intended change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just while I'm testing these changes in codebuild
@@ -74,6 +83,7 @@ public static void main(String... args) throws RunnerException, JsonProcessingEx | |||
benchmarksToRun.addAll(ASYNC_BENCHMARKS); | |||
benchmarksToRun.addAll(PROTOCOL_BENCHMARKS); | |||
benchmarksToRun.addAll(COLD_START_BENCHMARKS); | |||
benchmarksToRun.addAll(MAPPER_BENCHMARKS); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add ddb enhanced client data to baseline.json
for regression detection?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See previous comment for getting baseline
Tests overhead of GET and PUT item over the low level client, as well as performance of those operations compared to the V1 mapper.
695d7f0
to
967340f
Compare
36f641b
to
f2f9c58
Compare
SonarCloud Quality Gate failed.
|
…36b8fe8a9 Pull request: release <- staging/ad96181a-3fdb-429c-89f6-a2836b8fe8a9
Description
Tests overhead of GET and PUT item over the low level client, as well as
performance of those operations compared to the V1 mapper.
Motivation and Context
Testing
Screenshots (if appropriate)
Types of changes
Checklist
mvn install
succeedsLicense