Skip to content

Add comprehensive SET:GET mixed workload tests for essential data sizes #300

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

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

fcostaoliveira
Copy link
Collaborator

  • Add 32B SET:GET tests (default memtier size for community usage)
  • Add 100B SET:GET tests with expiration support for common use cases
  • Add 512B SET:GET tests (referenced in cloud provider documentation)
  • Add 1KB SET:GET tests (common benchmark size)
  • Include both pipeline 1 and pipeline 10 configurations
  • All tests use 50:50 SET:GET ratio for realistic mixed workloads

This completes the essential SET:GET benchmark coverage for the four most important data sizes used in Redis performance testing and documentation.

- Add 32B SET:GET tests (default memtier size for community usage)
- Add 100B SET:GET tests with expiration support for common use cases
- Add 512B SET:GET tests (referenced in cloud provider documentation)
- Add 1KB SET:GET tests (common benchmark size)
- Include both pipeline 1 and pipeline 10 configurations
- All tests use 50:50 SET:GET ratio for realistic mixed workloads
- Tests cover 1M keyspace with proper preloading

This completes the essential SET:GET benchmark coverage for the four most
important data sizes used in Redis performance testing and documentation.
Add missing 'set' command to tested-commands list for 100B expiration tests.
The stats tool detected that these tests use setex, get, and set commands
but only had setex and get listed in the tested-commands section.
- Test 1: SET EX 3 (50M keys) - Short TTL expiration performance
- Test 2: SET EX 20 (150M keys) - Medium TTL expiration performance
- Test 3: SET EX 10 with precondition (50M+50M keys) - Mixed TTL scenarios
- Test 4: SET→SET→DEL EX 120 (50M keys) - Command throughput without expiration
- Test 5: SET→SET→DEL EX 36000 (10M keys) - Long TTL command throughput
- Test 6: SET EX random range 20sec-30days (50M keys) - Wide TTL distribution
- Test 7: SET EX 10 years (50M keys) - Very long TTL performance
- Test 8: Multi-client AWS test (20M+80M keys) - Multi-client expiration

All tests use realistic pipeline 10 configuration and cover various
expiration scenarios for ebuckets performance testing.
- Changed all 8 expiration tests from single client (-c 1 -t 1) to standard configuration (-c 50 -t 4)
- Updated CPU allocation from 2 to 4 cores to match thread count
- Maintains pipeline 10 configuration for realistic testing
- AWS multi-client test keeps its specific 4 clients/2 threads configuration as intended
- All tests now follow consistent connection/thread patterns with existing test suite
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.

2 participants