Skip to content

Conversation

@adam-fowler
Copy link
Collaborator

@adam-fowler adam-fowler commented Dec 3, 2025

Add TLSIntegratedTests
Edit docker-compose file to enable TLS
Add script to generate test certificates
Update CI to setup Valkey with TLS (failed to do setup for Redis so disabled TLS tests for Redis)

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

❌ Pull request has performance regressions ❌

Summary
================================================================================
Threshold deviations for ValkeyBenchmarks:Connection: GET benchmark – NoOpTracer
================================================================================
Malloc (total) (#, %) main pull_request Difference % Threshold %
p50 8463 10143 19 5
p75 10159 11117 9 5

New baseline 'pull_request' is WORSE than the 'main' baseline thresholds.

Full Benchmark Comparison

Comparing results between 'main' and 'pull_request'

Host '81b7b15740f2' with 4 'x86_64' processors with 15 GB memory, running:
#18~24.04.1-Ubuntu SMP Sat Jun 28 04:46:03 UTC 2025

ValkeyBenchmarks

Client: GET benchmark metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 76 76 76 80 85 85 85 6
pull_request 75 79 79 82 83 83 83 6
Δ -1 3 3 2 -2 -2 -2 0
Improvement % 1 -4 -4 -2 2 2 2 0

Client: GET benchmark | parallel 20 | 20 concurrent connections metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 75 76 79 82 86 89 89 28
pull_request 72 78 81 83 85 86 86 28
Δ -3 2 2 1 -1 -3 -3 0
Improvement % 4 -3 -3 -1 1 3 3 0

Connection: GET benchmark metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 4 4 4 4 4 4 4 8
pull_request 4 4 4 4 4 4 4 8
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

Connection: GET benchmark – NoOpTracer metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 7 8 8 10 11 11 11 8
pull_request 7 8 10 11 11 11 11 7
Δ 0 0 2 1 0 0 0 -1
Improvement % 0 0 -25 -10 0 0 0 -1

Connection: Pipeline array benchmark metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 33 33 33 34 34 34 34 6
pull_request 33 33 33 34 34 34 34 6
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

Connection: Pipeline benchmark metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 33 33 33 34 34 34 34 5
pull_request 33 33 33 34 34 34 34 6
Δ 0 0 0 0 0 0 0 1
Improvement % 0 0 0 0 0 0 0 1

HashSlot – {user}.whatever metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 0 0 0 0 0 0 0 18
pull_request 0 0 0 0 0 0 0 18
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

ValkeyCommandEncoder – Command with 7 words metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 0 0 0 0 0 0 0 730
pull_request 0 0 0 0 0 0 0 738
Δ 0 0 0 0 0 0 0 8
Improvement % 0 0 0 0 0 0 0 8

ValkeyCommandEncoder – Simple GET metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 0 0 0 0 0 0 0 1881
pull_request 0 0 0 0 0 0 0 1869
Δ 0 0 0 0 0 0 0 -12
Improvement % 0 0 0 0 0 0 0 -12

ValkeyCommandEncoder – Simple MGET 15 keys metrics

Malloc (total): results within specified thresholds, fold down for details.

Malloc (total) * p0 p25 p50 p75 p90 p99 p100 Samples
main 0 0 0 0 0 0 0 356
pull_request 0 0 0 0 0 0 0 356
Δ 0 0 0 0 0 0 0 0
Improvement % 0 0 0 0 0 0 0 0

Copy link
Collaborator

@nilanshu-sharma nilanshu-sharma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just one comment for clarification.

@@ -1,12 +1,16 @@
# This runs a valkey server with both non-TLS and TLS endpoints.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this the docker file to be used for local testing ?
And the one in .devcontainer is used for CI ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docker-compose.yml is used for testing (non-cluster tests) locally
On macOS you need to run inside a VSCode devcontainer to get cluster working locally. That is what the dev container one is for.

Copy link
Collaborator

@nilanshu-sharma nilanshu-sharma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this confirms that the library supports mTLS ?

Both client and server have certs and they mutually trust each other ?

@adam-fowler
Copy link
Collaborator Author

So this confirms that the library supports mTLS ?

Both client and server have certs and they mutually trust each other ?

Yes.

@adam-fowler adam-fowler merged commit ce27c69 into main Dec 3, 2025
14 of 15 checks passed
@adam-fowler adam-fowler deleted the test-tls branch December 3, 2025 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants