Skip to content

Update redisearch base client to include timeout. Minor improvements on general latency and exported metrics #1

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 237 commits into
base: master
Choose a base branch
from

Conversation

filipecosta90
Copy link
Collaborator

No description provided.

filipecosta90 and others added 30 commits July 4, 2023 17:56
DvirDukhan and others added 30 commits April 21, 2025 09:45
Fixing scalability issues with vector db benchmark
This reverts commit 85a6bc7, reversing
changes made to ba175b1.
cd /home/fco/redislabs/vector-db-benchmark && git add engine/base_client/search.py engine/base_client/client.py
chunk up the iterable before starting the processes
…imizations

Restore performance optimizations
…ts with --skip-search --skip-upload (#22)

* Add script for creating vectorsets configuration, do not flush database on init, make noquant default

* Add topKs to create-vectorsets script

* Add get_memory_usage function to vectorsets

* Add empty line
Also record end time immediately after obtaining results, before joining
the processes.

Also remove progress bar because all processes do not report
intermediate progress and all processes finish in a similar time.
Remove SVS and SVS_TIERED add SVS-VAMANA algorithm
Fix SVS-VAMANA algorithm name
* Add dbpedia calibration json

* Add LVQ's to dbpedia-calibration configuration

* Fix create-svs

* Add LeanVec4X8
…nitoring, and improved Docker support (#32)

* Add comprehensive Docker CI/CD pipeline

- Enhanced Dockerfile with multi-stage build and security best practices
- Added Docker build, run, and test scripts with Redis-specific configurations
- Created GitHub Actions workflows for PR validation, master publishing, and release publishing
- Added docker-compose.yml for local development with Redis
- Updated documentation with Docker usage examples
- Configured for redis-performance/vector-db-benchmark Docker Hub repository
- Default configuration: engines=redis, dataset=random-100, experiment=redis-m-16-ef-64
- Multi-platform support (linux/amd64, linux/arm64)
- Security scanning with Trivy for releases

* Update Docker workflows for update-redisearch default branch

- Updated PR validation to trigger on update-redisearch branch
- Updated publishing workflow to use update-redisearch branch instead of master
- Updated Docker tags to use update-redisearch-{sha} format
- Updated documentation to reflect correct default branch

* Corrected docker repo, base branch, and test-image of redis.

* fixed missing redis container

* feat: enhance benchmark functionality with dataset discovery, validation, and performance monitoring

- Add --describe command for datasets and engines with columnar display
- Implement real-time performance summaries (QPS, P50/P95 latency)
- Add comprehensive dataset validation system with GitHub Actions
- Complete dataset metadata with vector_count and description fields
- Improve download reliability with proper HTTP headers
- Standardize precision formatting (0.01 increments up to 0.97, then 0.0025)
- Enhanced Docker configurations for better Redis testing defaults
- Add validation documentation and automated CI/CD checks

This maintains backward compatibility while significantly improving usability,
data quality, and performance insights for vector database benchmarking.

* Moved validate and update datasets to scripts folder

* Moved validate and update datasets to scripts folder

* fix: use Poetry with --no-root flag for GitHub Action dependencies

- Add Poetry installation to validate-datasets workflow
- Use --no-root to install dependencies without packaging the project
- Run validation script with 'poetry run' to access all dependencies
- Fixes ModuleNotFoundError for stopit and other dependencies when testing --describe functionality

* Added boto3 dependency

* Added basic test for RediSearch

* Updated deps to work for python 3.12. fixed deprecation warnings

* Updated poetry lock

* Adding redis-tools to the verify step (redis-cli)

* Adding python3 3.13 to the test matrix

* Using random-100 for faster testing

* Updated poetry lock

* Using random-100 for faster testing

* Added Redis Vector Sets checks on CI
* Add comprehensive Docker CI/CD pipeline

- Enhanced Dockerfile with multi-stage build and security best practices
- Added Docker build, run, and test scripts with Redis-specific configurations
- Created GitHub Actions workflows for PR validation, master publishing, and release publishing
- Added docker-compose.yml for local development with Redis
- Updated documentation with Docker usage examples
- Configured for redis-performance/vector-db-benchmark Docker Hub repository
- Default configuration: engines=redis, dataset=random-100, experiment=redis-m-16-ef-64
- Multi-platform support (linux/amd64, linux/arm64)
- Security scanning with Trivy for releases

* Update Docker workflows for update-redisearch default branch

- Updated PR validation to trigger on update-redisearch branch
- Updated publishing workflow to use update-redisearch branch instead of master
- Updated Docker tags to use update-redisearch-{sha} format
- Updated documentation to reflect correct default branch

* Corrected docker repo, base branch, and test-image of redis.

* fixed missing redis container

* feat: enhance benchmark functionality with dataset discovery, validation, and performance monitoring

- Add --describe command for datasets and engines with columnar display
- Implement real-time performance summaries (QPS, P50/P95 latency)
- Add comprehensive dataset validation system with GitHub Actions
- Complete dataset metadata with vector_count and description fields
- Improve download reliability with proper HTTP headers
- Standardize precision formatting (0.01 increments up to 0.97, then 0.0025)
- Enhanced Docker configurations for better Redis testing defaults
- Add validation documentation and automated CI/CD checks

This maintains backward compatibility while significantly improving usability,
data quality, and performance insights for vector database benchmarking.

* Moved validate and update datasets to scripts folder

* Moved validate and update datasets to scripts folder

* fix: use Poetry with --no-root flag for GitHub Action dependencies

- Add Poetry installation to validate-datasets workflow
- Use --no-root to install dependencies without packaging the project
- Run validation script with 'poetry run' to access all dependencies
- Fixes ModuleNotFoundError for stopit and other dependencies when testing --describe functionality

* Added boto3 dependency

* Added basic test for RediSearch

* Updated deps to work for python 3.12. fixed deprecation warnings

* Updated poetry lock

* Adding redis-tools to the verify step (redis-cli)

* Adding python3 3.13 to the test matrix

* Using random-100 for faster testing

* Updated poetry lock

* Using random-100 for faster testing

* Added Redis Vector Sets checks on CI

* Fixed docker permissions on results folder.

---------

Co-authored-by: fcostaoliveira <[email protected]>
)

* feat: add precision-summary field with clean QPS, P50, P95 metrics

- Add precision-summary field alongside existing precision field
- Contains simplified dict with just qps, p50, p95 for each precision level
- P50/P95 values converted to milliseconds for consistency
- QPS rounded to 1 decimal place for readability
- Maintains backward compatibility with existing precision field
- Enables easier parsing and analysis of performance metrics

* Update README.md to include easy docker steps and how to check results fast.

---------

Co-authored-by: fcostaoliveira <[email protected]>
…atures (#35)

* feat: comprehensive Docker improvements and precision summary enhancements

- Simplify Docker tagging strategy to only latest and version tags
- Change Docker image repository from filipe958/vector-db-benchmark to redis/vector-db-benchmark
- Fix Docker volume permission issues with smart entrypoint script
- Add precision_summary field with clean QPS, P50, P95 metrics
- Update Python version support to include 3.13
- Add comprehensive Redis environment variables (REDIS_AUTH, REDIS_USER, REDIS_CLUSTER)
- Create Docker-specific README with Redis 8.2 examples
- Update all documentation to use redis/vector-db-benchmark consistently
- Enhance GitHub Actions with Redis CLI installation and Poetry support

* Including QPS per precision chart on cli.
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.

8 participants