├── .flake8 ├── .github ├── ISSUE_TEMPLATE │ ├── benchmark-spec-request.md │ ├── bug_report.md │ └── config.yml ├── release-drafter-config.yml └── workflows │ ├── publish-pypi.yml │ ├── release-drafter.yml │ ├── tox.yml │ └── validate-spec-fields.yml ├── .gitignore ├── LICENSE ├── README.rst ├── Readme.md ├── __init__.py ├── arch-diagram.png ├── commands-priority.json ├── commands.json ├── dev_requirements.txt ├── groups.json ├── poetry.lock ├── pyproject.toml ├── redis_benchmarks_specification ├── __api__ │ ├── Readme.md │ ├── __init__.py │ ├── api.py │ └── app.py ├── __builder__ │ ├── Readme.md │ ├── __init__.py │ ├── builder.py │ └── schema.py ├── __cli__ │ ├── __init__.py │ ├── args.py │ ├── cli.py │ └── stats.py ├── __common__ │ ├── __init__.py │ ├── builder_schema.py │ ├── env.py │ ├── github.py │ ├── package.py │ ├── runner.py │ ├── spec.py │ └── timeseries.py ├── __compare__ │ ├── __init__.py │ ├── args.py │ └── compare.py ├── __init__.py ├── __runner__ │ ├── __init__.py │ ├── args.py │ └── runner.py ├── __self_contained_coordinator__ │ ├── __init__.py │ ├── args.py │ ├── artifacts.py │ ├── build_info.py │ ├── clients.py │ ├── cpuset.py │ ├── docker.py │ ├── post_processing.py │ ├── prepopulation.py │ ├── runners.py │ └── self_contained_coordinator.py ├── __setups__ │ ├── __init__.py │ └── topologies.py ├── __spec__ │ ├── __init__.py │ ├── args.py │ └── cli.py ├── __watchdog__ │ ├── __init__.py │ ├── args.py │ └── watchdog.py ├── commands │ ├── __init__.py │ └── commands.py ├── latency-test-suites │ ├── latency-rate-limited-10000_qps-memtier_benchmark-100Kkeys-hash-hgetall-50-fields-100B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-100Kkeys-load-hash-50-fields-with-1000B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-100Kkeys-load-hash-50-fields-with-100B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-100Kkeys-load-hash-50-fields-with-10B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-100B-expire-use-case.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-10B-expire-use-case.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-1KiB-expire-use-case.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-4KiB-expire-use-case.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-exists-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-expire-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-expireat-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-scan-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-touch-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-generic-ttl-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-hash-hexists.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-hash-hget-hgetall-hkeys-hvals-with-100B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-hash-hgetall-50-fields-10B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-hash-hincrby.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-hash-hmget-5-fields-with-100B-values-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-list-with-100B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-list-with-10B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-set-intset-with-100-elements.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-100B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-10B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-1KiB-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-20KiB-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-append-1-100B-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-append-1-100B.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-decr.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-100B-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-100B.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-10B-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-10B.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-1KiB.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-20KiB.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrby-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrby.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrbyfloat.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-mget-1KiB.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-setex-100B-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-setrange-100B-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-setrange-100B.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-2-elements-geopos.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-2-elements-geosearch-fromlonlat-withcoord.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geodist.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geohash.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geopos.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-hash-hscan-50-fields-10B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-list-10-elements-lrange-all-elements-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-list-10-elements-lrange-all-elements.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-list-100-elements-lrange-all-elements-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-list-100-elements-lrange-all-elements.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-list-10K-elements-lindex-integer.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-list-10K-elements-lindex-string.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-list-1K-elements-lrange-all-elements-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-list-1K-elements-lrange-all-elements.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-pfadd-4KB-values-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-10-elements-smembers-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-10-elements-smembers.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-10-elements-smismember.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-100-elements-sismember-is-a-member.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-100-elements-sismember-not-a-member.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-100-elements-smembers.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-100-elements-smismember.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-100-elements-sscan.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-10M-elements-sismember-50pct-chance.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-1K-elements-smembers.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-1M-elements-sismember-50pct-chance.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-200K-elements-sadd-constant.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-set-2M-elements-sadd-increasing.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zincrby-1M-elements-pipeline-1.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zrank-1M-elements-pipeline-1.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zrem-5M-elements-pipeline-1.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-10-elements-zrange-all-elements-long-scores.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-10-elements-zrange-all-elements.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-100-elements-zrange-all-elements.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements-long-scores.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-100-elements-zscan.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-2keys-lua-eval-hset-expire.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-2keys-lua-evalsha-hset-expire.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-2keys-set-10-100-elements-sdiff.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-2keys-set-10-100-elements-sinter.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-2keys-set-10-100-elements-sunion.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-2keys-stream-5-entries-xread-all-entries.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-3Mkeys-load-string-with-512B-values.yml │ ├── latency-rate-limited-10000_qps-memtier_benchmark-connection-hello.yml │ ├── latency-rate-limited-1000_qps-memtier_benchmark-10Kkeys-load-hash-50-fields-with-10000B-values.yml │ ├── latency-rate-limited-1000_qps-memtier_benchmark-1Mkeys-load-zset-listpack-with-100-elements-double-score.yml │ ├── latency-rate-limited-1000_qps-memtier_benchmark-1key-100M-bits-bitmap-bitcount.yml │ ├── latency-rate-limited-1000_qps-memtier_benchmark-1key-list-10K-elements-linsert-lrem-integer.yml │ ├── latency-rate-limited-1000_qps-memtier_benchmark-1key-list-10K-elements-linsert-lrem-string.yml │ ├── latency-rate-limited-1000_qps-memtier_benchmark-1key-list-10K-elements-lpos-integer.yml │ ├── latency-rate-limited-1000_qps-memtier_benchmark-1key-list-10K-elements-lpos-string.yml │ ├── latency-rate-limited-1000_qps-memtier_benchmark-1key-list-2K-elements-quicklist-lrange-all-elements-longs.yml │ ├── latency-rate-limited-1000_qps-memtier_benchmark-1key-zset-1K-elements-zrange-all-elements.yml │ ├── latency-rate-limited-1000_qps-memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunion.yml │ ├── latency-rate-limited-1000_qps-memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunionstore.yml │ └── latency-rate-limited-100_qps-memtier_benchmark-1key-1Billion-bits-bitmap-bitcount.yml ├── setups │ ├── builders │ │ ├── gcc:10.5.0-amd64-debian-bullseye-redisearch.yml │ │ ├── gcc:8.5.0-amd64-debian-buster-default.yml │ │ └── gcc:8.5.0-arm64-debian-buster-default.yml │ ├── platforms │ │ └── aws-ec2-1node-c5.4xlarge.yml │ └── topologies │ │ └── topologies.yml ├── test-suites │ ├── defaults.yml │ ├── generate.py │ ├── memtier_benchmark-100Kkeys-hash-hgetall-50-fields-100B-values.yml │ ├── memtier_benchmark-100Kkeys-load-hash-20-fields-with-1B-values-pipeline-30.yml │ ├── memtier_benchmark-100Kkeys-load-hash-50-fields-with-1000B-values.yml │ ├── memtier_benchmark-100Kkeys-load-hash-50-fields-with-100B-values.yml │ ├── memtier_benchmark-100Kkeys-load-hash-50-fields-with-10B-values.yml │ ├── memtier_benchmark-10Kkeys-load-hash-50-fields-with-10000B-values.yml │ ├── memtier_benchmark-10Kkeys-load-list-with-10B-values-pipeline-50.yml │ ├── memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10.yml │ ├── memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values.yml │ ├── memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10.yml │ ├── memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values.yml │ ├── memtier_benchmark-10Mkeys-string-get-10B-pipeline-100-nokeyprefix.yml │ ├── memtier_benchmark-1Mkeys-100B-expire-use-case.yml │ ├── memtier_benchmark-1Mkeys-10B-expire-use-case.yml │ ├── memtier_benchmark-1Mkeys-10B-psetex-expire-use-case.yml │ ├── memtier_benchmark-1Mkeys-10B-setex-expire-use-case.yml │ ├── memtier_benchmark-1Mkeys-1KiB-expire-use-case.yml │ ├── memtier_benchmark-1Mkeys-4KiB-expire-use-case.yml │ ├── memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-generic-exists-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-generic-expire-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-generic-expireat-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-generic-scan-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-generic-touch-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-generic-ttl-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-hash-hexists.yml │ ├── memtier_benchmark-1Mkeys-hash-hget-hgetall-hkeys-hvals-with-100B-values.yml │ ├── memtier_benchmark-1Mkeys-hash-hgetall-50-fields-10B-values.yml │ ├── memtier_benchmark-1Mkeys-hash-hincrby.yml │ ├── memtier_benchmark-1Mkeys-hash-hincrbyfloat.yml │ ├── memtier_benchmark-1Mkeys-hash-hmget-5-fields-with-100B-values-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20.yml │ ├── memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values.yml │ ├── memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values.yml │ ├── memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values.yml │ ├── memtier_benchmark-1Mkeys-list-rpoplpush-with-10B-values.yml │ ├── memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values.yml │ ├── memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values.yml │ ├── memtier_benchmark-1Mkeys-load-list-rpush-with-10B-values.yml │ ├── memtier_benchmark-1Mkeys-load-list-with-100B-values.yml │ ├── memtier_benchmark-1Mkeys-load-list-with-10B-values-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-load-list-with-10B-values.yml │ ├── memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml │ ├── memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-load-set-intset-with-100-elements.yml │ ├── memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml │ ├── memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values.yml │ ├── memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-load-string-with-100B-values.yml │ ├── memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100-nokeyprefix.yml │ ├── memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100.yml │ ├── memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-50.yml │ ├── memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-500.yml │ ├── memtier_benchmark-1Mkeys-load-string-with-10B-values.yml │ ├── memtier_benchmark-1Mkeys-load-string-with-1KiB-values.yml │ ├── memtier_benchmark-1Mkeys-load-string-with-20KiB-values.yml │ ├── memtier_benchmark-1Mkeys-load-zset-listpack-with-100-elements-double-score.yml │ ├── memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score.yml │ ├── memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score.yml │ ├── memtier_benchmark-1Mkeys-string-append-1-100B-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-string-append-1-100B.yml │ ├── memtier_benchmark-1Mkeys-string-decr.yml │ ├── memtier_benchmark-1Mkeys-string-get-100B-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-string-get-100B.yml │ ├── memtier_benchmark-1Mkeys-string-get-10B-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-string-get-10B-pipeline-100-nokeyprefix.yml │ ├── memtier_benchmark-1Mkeys-string-get-10B-pipeline-100.yml │ ├── memtier_benchmark-1Mkeys-string-get-10B-pipeline-50.yml │ ├── memtier_benchmark-1Mkeys-string-get-10B-pipeline-500.yml │ ├── memtier_benchmark-1Mkeys-string-get-10B.yml │ ├── memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-string-get-1KiB.yml │ ├── memtier_benchmark-1Mkeys-string-incr-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-string-incrby-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-string-incrby.yml │ ├── memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-string-incrbyfloat.yml │ ├── memtier_benchmark-1Mkeys-string-int-encoding-strlen-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-string-mget-1KiB.yml │ ├── memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-with-expiration-240B-400_conns.yml │ ├── memtier_benchmark-1Mkeys-string-set-with-ex-100B-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-string-setex-100B-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-string-setrange-100B-pipeline-10.yml │ ├── memtier_benchmark-1Mkeys-string-setrange-100B.yml │ ├── memtier_benchmark-1key-100M-bits-bitmap-bitcount.yml │ ├── memtier_benchmark-1key-1Billion-bits-bitmap-bitcount.yml │ ├── memtier_benchmark-1key-geo-2-elements-geopos.yml │ ├── memtier_benchmark-1key-geo-2-elements-geosearch-fromlonlat-withcoord.yml │ ├── memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml │ ├── memtier_benchmark-1key-geo-60M-elements-geodist.yml │ ├── memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml │ ├── memtier_benchmark-1key-geo-60M-elements-geohash.yml │ ├── memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml │ ├── memtier_benchmark-1key-geo-60M-elements-geopos.yml │ ├── memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox.yml │ ├── memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml │ ├── memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml │ ├── memtier_benchmark-1key-hash-1K-fields-hgetall-pipeline-10.yml │ ├── memtier_benchmark-1key-hash-1K-fields-hgetall.yml │ ├── memtier_benchmark-1key-hash-hscan-50-fields-10B-values.yml │ ├── memtier_benchmark-1key-list-10-elements-lrange-all-elements-pipeline-10.yml │ ├── memtier_benchmark-1key-list-10-elements-lrange-all-elements.yml │ ├── memtier_benchmark-1key-list-100-elements-int-7bit-uint-lrange-all-elements-pipeline-10.yml │ ├── memtier_benchmark-1key-list-100-elements-int-lrange-all-elements-pipeline-10.yml │ ├── memtier_benchmark-1key-list-100-elements-llen-pipeline-10.yml │ ├── memtier_benchmark-1key-list-100-elements-lrange-all-elements-pipeline-10.yml │ ├── memtier_benchmark-1key-list-100-elements-lrange-all-elements.yml │ ├── memtier_benchmark-1key-list-10K-elements-lindex-integer.yml │ ├── memtier_benchmark-1key-list-10K-elements-lindex-string-pipeline-10.yml │ ├── memtier_benchmark-1key-list-10K-elements-lindex-string.yml │ ├── memtier_benchmark-1key-list-10K-elements-linsert-lrem-integer.yml │ ├── memtier_benchmark-1key-list-10K-elements-linsert-lrem-string.yml │ ├── memtier_benchmark-1key-list-10K-elements-lpos-integer.yml │ ├── memtier_benchmark-1key-list-10K-elements-lpos-string.yml │ ├── memtier_benchmark-1key-list-1K-elements-lrange-all-elements-pipeline-10.yml │ ├── memtier_benchmark-1key-list-1K-elements-lrange-all-elements.yml │ ├── memtier_benchmark-1key-list-2K-elements-quicklist-lrange-all-elements-longs.yml │ ├── memtier_benchmark-1key-load-hash-1K-fields-with-5B-values.yml │ ├── memtier_benchmark-1key-load-zset-with-5-elements-parsing-float-score.yml │ ├── memtier_benchmark-1key-load-zset-with-5-elements-parsing-hexa-score.yml │ ├── memtier_benchmark-1key-pfadd-4KB-values-pipeline-10.yml │ ├── memtier_benchmark-1key-set-10-elements-smembers-pipeline-10.yml │ ├── memtier_benchmark-1key-set-10-elements-smembers.yml │ ├── memtier_benchmark-1key-set-10-elements-smismember.yml │ ├── memtier_benchmark-1key-set-100-elements-sismember-is-a-member.yml │ ├── memtier_benchmark-1key-set-100-elements-sismember-not-a-member.yml │ ├── memtier_benchmark-1key-set-100-elements-smembers.yml │ ├── memtier_benchmark-1key-set-100-elements-smismember.yml │ ├── memtier_benchmark-1key-set-100-elements-sscan.yml │ ├── memtier_benchmark-1key-set-10M-elements-sismember-50pct-chance.yml │ ├── memtier_benchmark-1key-set-10M-elements-srem-50pct-chance.yml │ ├── memtier_benchmark-1key-set-1K-elements-smembers.yml │ ├── memtier_benchmark-1key-set-1M-elements-sismember-50pct-chance.yml │ ├── memtier_benchmark-1key-set-200K-elements-sadd-constant.yml │ ├── memtier_benchmark-1key-set-2M-elements-sadd-increasing.yml │ ├── memtier_benchmark-1key-zincrby-1M-elements-pipeline-1.yml │ ├── memtier_benchmark-1key-zrank-100K-elements-pipeline-1.yml │ ├── memtier_benchmark-1key-zrank-10M-elements-pipeline-1.yml │ ├── memtier_benchmark-1key-zrank-1M-elements-pipeline-1.yml │ ├── memtier_benchmark-1key-zrem-5M-elements-pipeline-1.yml │ ├── memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1.yml │ ├── memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-10.yml │ ├── memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1.yml │ ├── memtier_benchmark-1key-zset-10-elements-zrange-all-elements-long-scores.yml │ ├── memtier_benchmark-1key-zset-10-elements-zrange-all-elements.yml │ ├── memtier_benchmark-1key-zset-100-elements-zrange-all-elements.yml │ ├── memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements-long-scores.yml │ ├── memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements.yml │ ├── memtier_benchmark-1key-zset-100-elements-zscan.yml │ ├── memtier_benchmark-1key-zset-1K-elements-zrange-all-elements.yml │ ├── memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10.yml │ ├── memtier_benchmark-1key-zset-1M-elements-zremrangebyscore-pipeline-10.yml │ ├── memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements.yml │ ├── memtier_benchmark-1key-zset-1M-elements-zrevrange-withscores-5-elements-pipeline-10.yml │ ├── memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10.yml │ ├── memtier_benchmark-1key-zset-600K-elements-zrangestore-1K-elements.yml │ ├── memtier_benchmark-1key-zset-600K-elements-zrangestore-300K-elements.yml │ ├── memtier_benchmark-2keys-lua-eval-hset-expire.yml │ ├── memtier_benchmark-2keys-lua-evalsha-hset-expire.yml │ ├── memtier_benchmark-2keys-set-10-100-elements-sdiff.yml │ ├── memtier_benchmark-2keys-set-10-100-elements-sinter.yml │ ├── memtier_benchmark-2keys-set-10-100-elements-sunion.yml │ ├── memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10.yml │ ├── memtier_benchmark-2keys-stream-5-entries-xread-all-entries.yml │ ├── memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunion.yml │ ├── memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunionstore.yml │ ├── memtier_benchmark-3Mkeys-load-string-with-512B-values-pipeline-10.yml │ ├── memtier_benchmark-3Mkeys-load-string-with-512B-values.yml │ ├── memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-2000_conns.yml │ ├── memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-400_conns.yml │ ├── memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-40_conns.yml │ ├── memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-2000_conns.yml │ ├── memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-400_conns.yml │ ├── memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-5200_conns.yml │ ├── memtier_benchmark-connection-hello-pipeline-10.yml │ ├── memtier_benchmark-connection-hello.yml │ ├── memtier_benchmark-nokeys-connection-ping-pipeline-10.yml │ ├── memtier_benchmark-nokeys-pubsub-publish-1K-channels-10B-no-subscribers.yml │ ├── memtier_benchmark-nokeys-server-time-pipeline-10.yml │ └── template.txt └── vector-search-test-suites │ └── vector_db_benchmark_test.yml ├── spec-logo.png ├── tox.ini └── utils ├── __init__.py ├── create-hset.py ├── create-intset.py ├── create-zset-300-elements.py ├── generate_latency_benchmarks.py ├── generate_memory_requirements.py ├── summary.py ├── test-requirements.txt └── tests ├── __init__.py ├── test_api.py ├── test_app.py ├── test_builder.py ├── test_builder_schema.py ├── test_cli.py ├── test_data ├── api_builder_common.py ├── event_webhook_labelled_pr.json ├── event_webhook_pushed_repo.json ├── icc-2021.3.0-amd64-ubuntu18.04-libc.yml └── test-suites │ ├── defaults.yml │ ├── generic-touch.yml │ ├── memtier_benchmark-1Mkeys-100B-expire-use-case-with-variant.yml │ ├── memtier_benchmark-1Mkeys-100B-expire-use-case.yml │ ├── memtier_benchmark-2keys-stream-5-entries-xread-all-entries.yml │ ├── redis-benchmark-full-suite-1Mkeys-100B.yml │ ├── test-memtier-dockerhub-iothreads.yml │ ├── test-memtier-dockerhub.yml │ └── topologies.yml ├── test_runner.py ├── test_schema.py ├── test_self_contained_coordinator.py ├── test_self_contained_coordinator_memtier.py ├── test_spec.py └── test_topologies.py /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 120 3 | max-complexity = 10 4 | select = C,E,F,W,B,B950 5 | ignore = E203,E501,W503,E722,B001,C901 6 | exclude = 7 | .git, 8 | test_*, 9 | __pycache__, 10 | *.egg-info, 11 | .nox, 12 | .pytest_cache, 13 | .mypy_cache, 14 | dist 15 | dist 16 | dist 17 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/benchmark-spec-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Benchmark Specification Request 3 | about: File a benchmark SPEC request for improvement or addition 4 | title: "[SPEC]: " 5 | labels: ["spec", "triage"] 6 | assignees: 'filipecosta90' 7 | --- 8 | 9 | **Improvement/Addition type** 10 | 11 | What changes to the current SPEC does this issue focuses upon? 12 | 13 | - [] Add a benchmark variant 14 | - [] Improve a benchmark variant 15 | - [] Raise awareness for a new Redis benchmark tool 16 | - [] Suggest a different Redis Build Variant 17 | - [] Other (fill details in section bellow) 18 | 19 | **Detail the requested use-case** 20 | 21 | Include reference to the benchmarks you've seen and want to see part of the spec. 22 | 23 | **Screenshots/CLI snippets of what's expected to happen** 24 | If applicable, add screenshots to help explain your problem. For example a chart. 25 | 26 | **Detail the used benchmark tool** 27 | 28 | What benchamrk tool to use: 29 | - [] memtier_benchmark 30 | - [] redis-benchmark 31 | - [] redis-benchmark-go 32 | - [] Other (name it): 33 | 34 | Sample benchmark tool command to implement the requested use-case: 35 | ``` 36 | -h ... 37 | ``` 38 | 39 | **Additional context** 40 | Add any other context about the problem here. 41 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve the benchmark SPEC implementation ( via redis-benchamrks-specification python package ) 4 | title: "[BUG]: " 5 | labels: ["bug", "triage"] 6 | assignees: 'filipecosta90' 7 | --- 8 | 9 | **Describe the bug** 10 | A clear and concise description of what the bug is. 11 | 12 | **To Reproduce** 13 | Steps to reproduce the behavior: 14 | 1. ... 15 | 2. .... 16 | 17 | **Expected behavior** 18 | A clear and concise description of what you expected to happen. 19 | 20 | **Screenshots/CLI snippets** 21 | If applicable, add screenshots to help explain your problem. 22 | 23 | **Environment (please complete the following information):** 24 | - OS: [e.g. ubuntu 20.04] 25 | - PyPi version package [e.g. 0.5.9] 26 | - Platfrom [e.g. x86, Jetson, ARM] 27 | 28 | **Additional context** 29 | Add any other context about the problem here. 30 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | -------------------------------------------------------------------------------- /.github/workflows/publish-pypi.yml: -------------------------------------------------------------------------------- 1 | name: Publish Pypi 2 | on: 3 | release: 4 | types: [ published ] 5 | 6 | jobs: 7 | pypi: 8 | name: Publish to PyPi 9 | runs-on: ubuntu-latest 10 | env: 11 | ACTIONS_ALLOW_UNSECURE_COMMANDS: true 12 | steps: 13 | - uses: actions/checkout@master 14 | 15 | - name: Set up Python 16 | uses: actions/setup-python@v1 17 | with: 18 | python-version: '3.10' 19 | 20 | - uses: docker/setup-docker-action@v4 21 | 22 | - name: Install Poetry 23 | run: | 24 | curl -sSL https://install.python-poetry.org | python3 - 25 | 26 | - name: Install Dev requirements 27 | run: | 28 | pip install -U setuptools wheel 29 | pip install -r dev_requirements.txt 30 | 31 | - name: Install Dependencies 32 | run: | 33 | poetry install 34 | 35 | - name: Publish to PyPI 36 | if: github.event_name == 'release' 37 | run: | 38 | poetry publish -u __token__ -p ${{ secrets.PYPI_TOKEN }} --build 39 | -------------------------------------------------------------------------------- /.github/workflows/release-drafter.yml: -------------------------------------------------------------------------------- 1 | name: Release Drafter 2 | 3 | on: 4 | push: 5 | # branches to consider in the event; optional, defaults to all 6 | branches: 7 | - master 8 | - main 9 | 10 | jobs: 11 | update_release_draft: 12 | runs-on: ubuntu-latest 13 | steps: 14 | # Drafts your next Release notes as Pull Requests are merged into "master" 15 | - uses: release-drafter/release-drafter@v5 16 | with: 17 | # (Optional) specify config name to use, relative to .github/. Default: release-drafter.yml 18 | config-name: release-drafter-config.yml 19 | env: 20 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} -------------------------------------------------------------------------------- /.github/workflows/validate-spec-fields.yml: -------------------------------------------------------------------------------- 1 | name: Validate SPEC fields 2 | on: 3 | pull_request: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | pytest: 10 | name: Validate SPEC fields 11 | runs-on: ubuntu-22.04 12 | env: 13 | ACTIONS_ALLOW_UNSECURE_COMMANDS: true 14 | steps: 15 | - uses: actions/checkout@master 16 | 17 | - name: Set up Python 18 | uses: actions/setup-python@v1 19 | with: 20 | python-version: '3.10' 21 | 22 | - uses: docker-practice/actions-setup-docker@master 23 | 24 | - name: Install Poetry 25 | run: | 26 | curl -sSL https://install.python-poetry.org | python3 - 27 | 28 | - name: Install Dev requirements 29 | run: | 30 | pip install -U setuptools wheel 31 | pip install -r dev_requirements.txt 32 | 33 | - name: Install Dependencies 34 | run: | 35 | poetry install 36 | 37 | - name: Validate SPEC fields 38 | run: | 39 | poetry run redis-benchmarks-spec-cli --tool stats --fail-on-required-diff 40 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redis/redis-benchmarks-specification/5ba288a8e5219c48c247b0d7f4f0343f82ae819c/README.rst -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redis/redis-benchmarks-specification/5ba288a8e5219c48c247b0d7f4f0343f82ae819c/__init__.py -------------------------------------------------------------------------------- /arch-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redis/redis-benchmarks-specification/5ba288a8e5219c48c247b0d7f4f0343f82ae819c/arch-diagram.png -------------------------------------------------------------------------------- /dev_requirements.txt: -------------------------------------------------------------------------------- 1 | click==8.1.7 2 | black==24.4.2 3 | flake8==7.1.0 4 | flynt~=0.69.0 5 | isort==5.10.1 6 | mock==4.0.3 7 | packaging>=20.4 8 | pytest==8.2.2 9 | pytest-timeout==2.3.1 10 | pytest-asyncio>=0.23.7 11 | tox>=4.16.0 12 | tox-docker>=5.0.0 13 | invoke==2.2.0 14 | pytest-cov>=5.0.0 15 | vulture>=2.3.0 16 | ujson>=4.2.0 17 | wheel>=0.43.0 18 | docker>=7.1.0 19 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__api__/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | ## Run in local development mode 3 | 4 | Within root project folder 5 | ``` 6 | poetry run redis-benchmarks-spec-api 7 | ``` 8 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__api__/__init__.py: -------------------------------------------------------------------------------- 1 | # Apache License Version 2.0 2 | # 3 | # Copyright (c) 2021., Redis Labs 4 | # All rights reserved. 5 | # 6 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__builder__/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | ## Run in local development mode 3 | 4 | Within root project folder 5 | ``` 6 | poetry run redis-benchmarks-spec-builder 7 | ``` 8 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__builder__/__init__.py: -------------------------------------------------------------------------------- 1 | # Apache 2 License 2 | # 3 | # Copyright (c) 2021., Redis Labs 4 | # All rights reserved. 5 | # 6 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__builder__/schema.py: -------------------------------------------------------------------------------- 1 | # Apache 2 License 2 | # 3 | # Copyright (c) 2021., Redis Labs 4 | # All rights reserved. 5 | # 6 | import os 7 | import yaml 8 | 9 | 10 | def get_build_config(usecase_filename): 11 | full_filename = os.path.abspath(usecase_filename) 12 | with open(full_filename) as stream: 13 | build_config = yaml.safe_load(stream) 14 | # print(build_config) 15 | id = build_config["id"] 16 | return build_config, id 17 | 18 | 19 | def get_build_config_metadata(build_config): 20 | build_config_metadata = {} 21 | if "metadata" in build_config: 22 | build_config_metadata = build_config["metadata"] 23 | return build_config_metadata 24 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__cli__/__init__.py: -------------------------------------------------------------------------------- 1 | # Apache 2 License 2 | # 3 | # Copyright (c) 2021., Redis Labs 4 | # All rights reserved. 5 | # 6 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__common__/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redis/redis-benchmarks-specification/5ba288a8e5219c48c247b0d7f4f0343f82ae819c/redis_benchmarks_specification/__common__/__init__.py -------------------------------------------------------------------------------- /redis_benchmarks_specification/__common__/package.py: -------------------------------------------------------------------------------- 1 | from redis_benchmarks_specification import __version__ 2 | 3 | import os 4 | import toml 5 | 6 | PACKAGE_DIR = os.path.dirname(os.path.abspath(__file__)) 7 | 8 | 9 | def populate_with_poetry_data(): 10 | project_name = "redis-benchmarks-specification" 11 | project_version = __version__ 12 | project_description = None 13 | try: 14 | poetry_data = toml.load("pyproject.toml")["tool"]["poetry"] 15 | project_name = poetry_data["name"] 16 | project_version = poetry_data["version"] 17 | project_description = poetry_data["description"] 18 | except FileNotFoundError: 19 | pass 20 | 21 | return project_name, project_description, project_version 22 | 23 | 24 | def get_version_string(project_name, project_version): 25 | version_str = "{project_name} {project_version}".format( 26 | project_name=project_name, project_version=project_version 27 | ) 28 | return version_str 29 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__compare__/__init__.py: -------------------------------------------------------------------------------- 1 | # Apache License Version 2.0 2 | # 3 | # Copyright (c) 2021., Redis Labs Modules 4 | # All rights reserved. 5 | # 6 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__init__.py: -------------------------------------------------------------------------------- 1 | # Apache License Version 2.0 2 | # 3 | # Copyright (c) 2021., Redis Labs 4 | # All rights reserved. 5 | # 6 | 7 | # This attribute is the only one place that the version number is written down, 8 | # so there is only one place to change it when the version number changes. 9 | import pkg_resources 10 | 11 | PKG_NAME = "redis-benchmarks-specification" 12 | try: 13 | __version__ = pkg_resources.get_distribution(PKG_NAME).version 14 | except (pkg_resources.DistributionNotFound, AttributeError): 15 | __version__ = "99.99.99" # like redis 16 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__runner__/__init__.py: -------------------------------------------------------------------------------- 1 | # Apache 2 License 2 | # 3 | # Copyright (c) 2021., Redis Labs 4 | # All rights reserved. 5 | # 6 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__self_contained_coordinator__/__init__.py: -------------------------------------------------------------------------------- 1 | # Apache 2 License 2 | # 3 | # Copyright (c) 2021., Redis Labs 4 | # All rights reserved. 5 | # 6 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__self_contained_coordinator__/artifacts.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import os 3 | 4 | 5 | def restore_build_artifacts_from_test_details( 6 | build_artifacts, conn, temporary_dir, testDetails 7 | ): 8 | for build_artifact in build_artifacts: 9 | build_artifact_key = "{}".format(build_artifact).encode() 10 | if build_artifact_key in testDetails: 11 | buffer_key = testDetails[build_artifact_key] 12 | logging.info( 13 | "Reading artifact binary {} from key {}".format( 14 | build_artifact, buffer_key 15 | ) 16 | ) 17 | buffer = bytes(conn.get(buffer_key)) 18 | artifact_fname = "{}/{}".format(temporary_dir, build_artifact) 19 | with open(artifact_fname, "wb") as fd: 20 | fd.write(buffer) 21 | os.chmod(artifact_fname, 755) 22 | 23 | logging.info( 24 | "Successfully restored {} into {}".format( 25 | build_artifact, artifact_fname 26 | ) 27 | ) 28 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py: -------------------------------------------------------------------------------- 1 | import math 2 | 3 | 4 | def generate_cpuset_cpus(ceil_db_cpu_limit, current_cpu_pos): 5 | previous_cpu_pos = current_cpu_pos 6 | current_cpu_pos = current_cpu_pos + int(ceil_db_cpu_limit) 7 | db_cpuset_cpus = ",".join( 8 | [str(x) for x in range(previous_cpu_pos, current_cpu_pos)] 9 | ) 10 | return db_cpuset_cpus, current_cpu_pos 11 | 12 | 13 | def extract_db_cpu_limit(topologies_map, topology_spec_name): 14 | topology_spec = topologies_map[topology_spec_name] 15 | db_cpu_limit = topology_spec["resources"]["requests"]["cpus"] 16 | ceil_db_cpu_limit = math.ceil(float(db_cpu_limit)) 17 | return ceil_db_cpu_limit 18 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__self_contained_coordinator__/post_processing.py: -------------------------------------------------------------------------------- 1 | import os 2 | import json 3 | 4 | 5 | def post_process_vector_db(temporary_dir): 6 | results_dir = os.path.join(temporary_dir, "results") 7 | results = {} 8 | for file in os.listdir(results_dir): 9 | if "upload" in file: 10 | with open(os.path.join(results_dir, file), "r") as f: 11 | upload_results = json.load(f) 12 | results["upload_time"] = upload_results["results"]["upload_time"] 13 | else: 14 | with open(os.path.join(results_dir, file), "r") as f: 15 | query_results = json.load(f) 16 | results["rps"] = query_results["results"]["rps"] 17 | results["precision"] = query_results["results"]["mean_precisions"] 18 | results["total_time"] = query_results["results"]["total_time"] 19 | return results 20 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__setups__/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redis/redis-benchmarks-specification/5ba288a8e5219c48c247b0d7f4f0343f82ae819c/redis_benchmarks_specification/__setups__/__init__.py -------------------------------------------------------------------------------- /redis_benchmarks_specification/__setups__/topologies.py: -------------------------------------------------------------------------------- 1 | import os 2 | import yaml 3 | 4 | 5 | def get_topologies(usecase_filename): 6 | full_filename = os.path.abspath(usecase_filename) 7 | topologies_map = {} 8 | with open(full_filename) as stream: 9 | build_config = yaml.safe_load(stream) 10 | spec = build_config["spec"] 11 | setups = spec["setups"] 12 | for topology in setups: 13 | topology_name = topology["name"] 14 | topologies_map[topology_name] = topology 15 | # print(build_config) 16 | 17 | return topologies_map 18 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__spec__/__init__.py: -------------------------------------------------------------------------------- 1 | # Apache 2 License 2 | # 3 | # Copyright (c) 2021., Redis Labs 4 | # All rights reserved. 5 | # 6 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/__watchdog__/__init__.py: -------------------------------------------------------------------------------- 1 | # Apache 2 License 2 | # 3 | # Copyright (c) 2021., Redis Labs 4 | # All rights reserved. 5 | # 6 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/commands/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redis/redis-benchmarks-specification/5ba288a8e5219c48c247b0d7f4f0343f82ae819c/redis_benchmarks_specification/commands/__init__.py -------------------------------------------------------------------------------- /redis_benchmarks_specification/commands/commands.py: -------------------------------------------------------------------------------- 1 | # BSD 3-Clause License 2 | # 3 | # Copyright (c) 2022., Redis Performance Group 4 | # All rights reserved. 5 | # 6 | 7 | 8 | def generate_command_groups(commands_json): 9 | groups = {} 10 | for command_name, command_description in commands_json.items(): 11 | group_name = command_description["group"] 12 | if group_name not in groups: 13 | groups[group_name] = [] 14 | groups[group_name].append(command_name) 15 | return groups 16 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values 4 | description: Runs memtier_benchmark, for a keyspace length of 10M keys loading HASHES 5 | with 5 fields each. Each field value has a data size of 100 Bytes. Rate limited 6 | to 10000 ops/sec. 7 | dbconfig: 8 | configuration-parameters: 9 | save: '""' 10 | check: 11 | keyspacelen: 0 12 | resources: 13 | requests: 14 | memory: 9g 15 | tested-commands: 16 | - hset 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:2.1.0 24 | tool: memtier_benchmark 25 | arguments: "--test-time 180 \"--data-size\" \"100\" --command \"HSET __key__ field1 26 | __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__\" --command-key-pattern=\"\ 27 | P\" --key-minimum=1 --key-maximum 10000000 -c 50 -t 4 --hide-histogram --rate-limiting 28 | 50" 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | tested-groups: 35 | - hash 36 | priority: 5 37 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values 4 | description: Runs memtier_benchmark, for a keyspace length of 10M keys loading HASHES 5 | with 5 fields each. Each field value has a data size of 10 Bytes. Rate limited to 6 | 10000 ops/sec. 7 | dbconfig: 8 | configuration-parameters: 9 | save: '""' 10 | check: 11 | keyspacelen: 0 12 | resources: 13 | requests: 14 | memory: 2g 15 | tested-commands: 16 | - hset 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:2.1.0 24 | tool: memtier_benchmark 25 | arguments: "--test-time 180 \"--data-size\" \"10\" --command \"HSET __key__ field1 26 | __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__\" --command-key-pattern=\"\ 27 | P\" --key-minimum=1 --key-maximum 10000000 -c 50 -t 4 --hide-histogram --rate-limiting 28 | 50" 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | tested-groups: 35 | - hash 36 | priority: 5 37 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading HASHES 5 | with 5 fields each. Each field value has a data size of 1000 Bytes. Rate limited 6 | to 10000 ops/sec. 7 | dbconfig: 8 | configuration-parameters: 9 | save: '""' 10 | check: 11 | keyspacelen: 0 12 | resources: 13 | requests: 14 | memory: 6g 15 | tested-groups: 16 | - hash 17 | tested-commands: 18 | - hset 19 | redis-topologies: 20 | - oss-standalone 21 | build-variants: 22 | - gcc:8.5.0-amd64-debian-buster-default 23 | - dockerhub 24 | clientconfig: 25 | run_image: redislabs/memtier_benchmark:2.1.0 26 | tool: memtier_benchmark 27 | arguments: "--test-time 180 \"--data-size\" \"1000\" --command \"HSET __key__ field1 28 | __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__\" --command-key-pattern=\"\ 29 | P\" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram --rate-limiting 30 | 50" 31 | resources: 32 | requests: 33 | cpus: '4' 34 | memory: 2g 35 | 36 | priority: 5 37 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading HASHES 5 | with 5 fields each. Each field value has a data size of 1000 Bytes. Rate limited 6 | to 10000 ops/sec. 7 | dbconfig: 8 | configuration-parameters: 9 | save: '""' 10 | check: 11 | keyspacelen: 0 12 | resources: 13 | requests: 14 | memory: 6g 15 | tested-groups: 16 | - hash 17 | tested-commands: 18 | - hmset 19 | redis-topologies: 20 | - oss-standalone 21 | build-variants: 22 | - gcc:8.5.0-amd64-debian-buster-default 23 | - dockerhub 24 | clientconfig: 25 | run_image: redislabs/memtier_benchmark:2.1.0 26 | tool: memtier_benchmark 27 | arguments: "--test-time 180 \"--data-size\" \"1000\" --command \"HMSET __key__ field1 28 | __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__\" --command-key-pattern=\"\ 29 | P\" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram --rate-limiting 30 | 50" 31 | resources: 32 | requests: 33 | cpus: '4' 34 | memory: 2g 35 | 36 | priority: 20 37 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-list-with-100B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-list-with-100B-values 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading LISTs 5 | in which the value has a data size of 100 Bytes. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 8g 14 | tested-groups: 15 | - list 16 | tested-commands: 17 | - lpush 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:2.1.0 25 | tool: memtier_benchmark 26 | arguments: "\"--data-size\" \"100\" --command \"LPUSH __key__ __data__\" --command-key-pattern=\"\ 27 | P\" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram 28 | --rate-limiting 50" 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 38 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-list-with-10B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-list-with-10B-values 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading LISTs 5 | in which the value has a data size of 10 Bytes. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 1g 14 | tested-groups: 15 | - list 16 | tested-commands: 17 | - lpush 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:2.1.0 25 | tool: memtier_benchmark 26 | arguments: "\"--data-size\" \"10\" --command \"LPUSH __key__ __data__\" --command-key-pattern=\"\ 27 | P\" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram 28 | --rate-limiting 50" 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 38 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-list-with-1KiB-values 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading LISTs 5 | in which the value has a data size of 1000 Bytes. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 32g 14 | tested-groups: 15 | - list 16 | tested-commands: 17 | - lpush 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:2.1.0 25 | tool: memtier_benchmark 26 | arguments: "\"--data-size\" \"1000\" --command \"LPUSH __key__ __data__\" --command-key-pattern=\"\ 27 | P\" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram 28 | --rate-limiting 50" 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 38 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STREAMs 5 | in which the value has a data size of 100 Bytes. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 5g 14 | tested-commands: 15 | - xadd 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:2.1.0 23 | tool: memtier_benchmark 24 | arguments: "\"--pipeline\" \"10\" \"--data-size\" \"100\" --command \"XADD __key__ 25 | MAXLEN ~ 1 * field __data__\" --command-key-pattern=\"P\" --key-minimum=1 --key-maximum 26 | 1000000 --test-time 180 -c 50 -t 4 --hide-histogram --rate-limiting 50" 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - stream 34 | priority: 66 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STREAMs 5 | in which the value has a data size of 100 Bytes. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 5g 14 | tested-commands: 15 | - xadd 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:2.1.0 23 | tool: memtier_benchmark 24 | arguments: "\"--data-size\" \"100\" --command \"XADD __key__ MAXLEN ~ 1 * field 25 | __data__\" --command-key-pattern=\"P\" --key-minimum=1 --key-maximum 1000000 --test-time 26 | 180 -c 50 -t 4 --hide-histogram --rate-limiting 50" 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - stream 34 | priority: 66 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STREAMs 5 | in which the 5 field values have a data size of 100 Bytes. Rate limited to 10000 6 | ops/sec. 7 | dbconfig: 8 | configuration-parameters: 9 | save: '""' 10 | check: 11 | keyspacelen: 0 12 | resources: 13 | requests: 14 | memory: 8g 15 | tested-commands: 16 | - xadd 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:2.1.0 24 | tool: memtier_benchmark 25 | arguments: "\"--data-size\" \"100\" --command \"XADD __key__ MAXLEN ~ 5 * field 26 | __data__ field __data__ field __data__ field __data__ field __data__\" --command-key-pattern=\"\ 27 | P\" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram 28 | --rate-limiting 50" 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | tested-groups: 35 | - stream 36 | priority: 66 37 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs 5 | in which the value has a data size of 100 Bytes. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 1g 14 | tested-commands: 15 | - set 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:2.1.0 23 | tool: memtier_benchmark 24 | arguments: "\"--pipeline\" \"10\" \"--data-size\" \"100\" --ratio 1:0 --key-pattern 25 | P:P --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram 26 | --rate-limiting 50" 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 17 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-100B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-100B-values 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs 5 | in which the value has a data size of 100 Bytes. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 12g 14 | tested-commands: 15 | - set 16 | redis-topologies: 17 | - oss-standalone 18 | 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:2.1.0 24 | tool: memtier_benchmark 25 | arguments: "\"--data-size\" \"100\" --ratio 1:0 --key-pattern P:P --key-minimum=1 26 | --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram --rate-limiting 27 | 50" 28 | resources: 29 | requests: 30 | cpus: '4' 31 | memory: 2g 32 | scalability: 33 | mode: '1:1' 34 | max_processes: 21 35 | 36 | tested-groups: 37 | - string 38 | priority: 17 39 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs 5 | in which the value has a data size of 10 Bytes. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 1g 14 | tested-commands: 15 | - set 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:2.1.0 23 | tool: memtier_benchmark 24 | arguments: "\"--pipeline\" \"10\" \"--data-size\" \"10\" --ratio 1:0 --key-pattern 25 | P:P --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram 26 | --rate-limiting 50" 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 17 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-10B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-10B-values 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs 5 | in which the value has a data size of 10 Bytes. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 1g 14 | tested-commands: 15 | - set 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:2.1.0 23 | tool: memtier_benchmark 24 | arguments: "\"--data-size\" \"10\" --ratio 1:0 --key-pattern P:P --key-minimum=1 25 | --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram --rate-limiting 26 | 50" 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 17 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-1KiB-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-1KiB-values 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs 5 | in which the value has a data size of 1000 Bytes. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 3g 14 | tested-commands: 15 | - set 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:2.1.0 23 | tool: memtier_benchmark 24 | arguments: "\"--data-size\" \"1000\" --ratio 1:0 --key-pattern P:P --key-minimum=1 25 | --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram --rate-limiting 26 | 50" 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 17 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-20KiB-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-string-with-20KiB-values 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs 5 | in which the value has a data size of 20K Bytes. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 12g 14 | tested-commands: 15 | - set 16 | redis-topologies: 17 | - oss-standalone 18 | 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:2.1.0 24 | tool: memtier_benchmark 25 | arguments: "\"--data-size\" \"20000\" --ratio 1:0 --key-pattern P:P --key-minimum=1 26 | --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram --rate-limiting 27 | 50" 28 | resources: 29 | requests: 30 | cpus: '4' 31 | memory: 2g 32 | scalability: 33 | mode: '1:1' 34 | max_processes: 21 35 | 36 | tested-groups: 37 | - string 38 | priority: 17 39 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading ZSETs 5 | with 10 elements. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 1g 14 | tested-commands: 15 | - zadd 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:2.1.0 23 | tool: memtier_benchmark 24 | arguments: "--test-time 180 -c 50 -t 4 --command \"ZADD __key__ 1 lysbgqqfqw 2 mtccjerdon 25 | 3 jekkafodvk 4 nmgxcctxpn 5 vyqqkuszzh 6 pytrnqdhvs 7 oguwnmniig 8 gekntrykfh 26 | 9 nhfnbxqgol 10 cgoeihlnei\" --command-key-pattern=\"P\" --key-minimum=1 --key-maximum 27 | 1000000 --hide-histogram --rate-limiting 50" 28 | resources: 29 | requests: 30 | cpus: '4' 31 | memory: 4g 32 | 33 | tested-groups: 34 | - sorted-set 35 | priority: 12 36 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-100B.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-100B 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data 4 | size of 100 Bytes for each key. Rate limited to 10000 ops/sec. 5 | dbconfig: 6 | configuration-parameters: 7 | save: '""' 8 | check: 9 | keyspacelen: 1000000 10 | preload_tool: 11 | run_image: redislabs/memtier_benchmark:2.1.0 12 | tool: memtier_benchmark 13 | arguments: '"--data-size" "100" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" 14 | "-t" "2" "--hide-histogram" "--key-minimum" "1"' 15 | resources: 16 | requests: 17 | memory: 1g 18 | tested-commands: 19 | - get 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:2.1.0 27 | tool: memtier_benchmark 28 | arguments: "--data-size 100 --ratio 0:1 --key-pattern R:R -c 25 -t 4 --hide-histogram 29 | --test-time 180 --rate-limiting 100" 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | 35 | tested-groups: 36 | - string 37 | priority: 1 38 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-10B.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-10B 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data 4 | size of 10 Bytes for each key. Rate limited to 10000 ops/sec. 5 | dbconfig: 6 | configuration-parameters: 7 | save: '""' 8 | check: 9 | keyspacelen: 1000000 10 | preload_tool: 11 | run_image: redislabs/memtier_benchmark:2.1.0 12 | tool: memtier_benchmark 13 | arguments: '"--data-size" "10" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" 14 | "-t" "2" "--hide-histogram" "--key-minimum" "1"' 15 | resources: 16 | requests: 17 | memory: 1g 18 | tested-commands: 19 | - get 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:2.1.0 27 | tool: memtier_benchmark 28 | arguments: "\"--data-size\" \"10\" --ratio 0:1 --key-pattern R:R -c 25 -t 4 --hide-histogram 29 | --test-time 180 --rate-limiting 100" 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | 35 | tested-groups: 36 | - string 37 | priority: 1 38 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-1KiB.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-1KiB 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data 4 | size of 1000 Bytes for each key. Rate limited to 10000 ops/sec. 5 | dbconfig: 6 | configuration-parameters: 7 | save: '""' 8 | check: 9 | keyspacelen: 1000000 10 | preload_tool: 11 | run_image: redislabs/memtier_benchmark:2.1.0 12 | tool: memtier_benchmark 13 | arguments: '"--data-size" "1000" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" 14 | "-t" "2" "--hide-histogram" "--key-minimum" "1"' 15 | resources: 16 | requests: 17 | memory: 2g 18 | tested-commands: 19 | - get 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:2.1.0 27 | tool: memtier_benchmark 28 | arguments: "--data-size 1000 --ratio 0:1 --key-pattern R:R -c 25 -t 4 --hide-histogram 29 | --test-time 180 --rate-limiting 100" 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | 35 | tested-groups: 36 | - string 37 | priority: 1 38 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-20KiB.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-get-20KiB 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data 4 | size of 20000 Bytes for each key. Rate limited to 10000 ops/sec. 5 | dbconfig: 6 | configuration-parameters: 7 | save: '""' 8 | check: 9 | keyspacelen: 1000000 10 | preload_tool: 11 | run_image: redislabs/memtier_benchmark:2.1.0 12 | tool: memtier_benchmark 13 | arguments: '"--data-size" "20000" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" 14 | "-t" "2" "--hide-histogram" "--key-minimum" "1"' 15 | resources: 16 | requests: 17 | memory: 2g 18 | tested-commands: 19 | - get 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:2.1.0 27 | tool: memtier_benchmark 28 | arguments: "--data-size 20000 --ratio 0:1 --key-pattern R:R -c 25 -t 4 --hide-histogram 29 | --test-time 180 --rate-limiting 100" 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | 35 | tested-groups: 36 | - string 37 | priority: 1 38 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrby-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrby-pipeline-10 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys doing incrby 5 | of 1. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - string 14 | tested-commands: 15 | - incrby 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:2.1.0 23 | tool: memtier_benchmark 24 | arguments: "--test-time 120 --pipeline 10 --command \"INCRBY __key__ 1\" --command-key-pattern=\"\ 25 | R\" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram --rate-limiting 26 | 50" 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | priority: 21 33 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrby.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrby 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys doing incrby 4 | of 1. Rate limited to 10000 ops/sec. 5 | dbconfig: 6 | configuration-parameters: 7 | save: '""' 8 | resources: 9 | requests: 10 | memory: 1g 11 | tested-groups: 12 | - string 13 | tested-commands: 14 | - incrby 15 | redis-topologies: 16 | - oss-standalone 17 | build-variants: 18 | - gcc:8.5.0-amd64-debian-buster-default 19 | - dockerhub 20 | clientconfig: 21 | run_image: redislabs/memtier_benchmark:2.1.0 22 | tool: memtier_benchmark 23 | arguments: "--test-time 120 --command \"INCRBY __key__ 1\" --command-key-pattern=\"\ 24 | R\" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram --rate-limiting 25 | 50" 26 | resources: 27 | requests: 28 | cpus: '4' 29 | memory: 2g 30 | 31 | priority: 21 32 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10 4 | description: Runs memtier_benchmark, for a keyspace length of 1M keys doing incrby 5 | of 0.01. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - string 14 | tested-commands: 15 | - incrbyfloat 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:2.1.0 23 | tool: memtier_benchmark 24 | arguments: "--test-time 120 --pipeline 10 --command \"INCRBYFLOAT __key__ 0.01\"\ 25 | \ --command-key-pattern=\"R\" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 26 | --hide-histogram --rate-limiting 50" 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | priority: 21 33 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrbyfloat.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-1Mkeys-string-incrbyfloat 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys doing incrby 4 | of 0.01. Rate limited to 10000 ops/sec. 5 | dbconfig: 6 | configuration-parameters: 7 | save: '""' 8 | resources: 9 | requests: 10 | memory: 1g 11 | tested-groups: 12 | - string 13 | tested-commands: 14 | - incrbyfloat 15 | redis-topologies: 16 | - oss-standalone 17 | build-variants: 18 | - gcc:8.5.0-amd64-debian-buster-default 19 | - dockerhub 20 | clientconfig: 21 | run_image: redislabs/memtier_benchmark:2.1.0 22 | tool: memtier_benchmark 23 | arguments: "--test-time 120 --command \"INCRBYFLOAT __key__ 0.01\" --command-key-pattern=\"\ 24 | R\" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram --rate-limiting 25 | 50" 26 | resources: 27 | requests: 28 | cpus: '4' 29 | memory: 2g 30 | 31 | priority: 21 32 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-2-elements-geopos.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-2-elements-geopos 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO 4 | key contains 2 elements and comes from the example of https://redis.io/docs/latest/commands/geopos, 5 | and we query it using GEOPOS command. Rate limited to 10000 ops/sec.' 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 1 11 | resources: 12 | requests: 13 | memory: 1g 14 | init_commands: 15 | - '"GEOADD" "Sicily" "13.361389" "38.115556" "Palermo" "15.087269" "37.502669" "Catania"' 16 | tested-groups: 17 | - geo 18 | tested-commands: 19 | - geopos 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:2.1.0 27 | tool: memtier_benchmark 28 | arguments: "-c 50 -t 4 --command=\"GEOPOS Sicily Palermo Catania\" --hide-histogram 29 | --test-time 120 --rate-limiting 50" 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | 35 | priority: 138 36 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10 4 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO 5 | key contains 60841557 elements in it and we query it using GEODIST command between 6 | 2 elements. Rate limited to 10000 ops/sec.' 7 | dbconfig: 8 | configuration-parameters: 9 | save: '""' 10 | check: 11 | keyspacelen: 1 12 | dataset: 13 | https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 14 | resources: 15 | requests: 16 | memory: 6g 17 | tested-groups: 18 | - geo 19 | tested-commands: 20 | - geodist 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:2.1.0 28 | tool: memtier_benchmark 29 | arguments: "--pipeline 10 -c 50 -t 4 --command=\"GEODIST key 1 2\" --hide-histogram 30 | --test-time 180 --rate-limiting 50" 31 | resources: 32 | requests: 33 | cpus: '4' 34 | memory: 2g 35 | 36 | priority: 166 37 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geodist.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geodist 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO 4 | key contains 60841557 elements in it and we query it using GEODIST command between 5 | 2 elements. Rate limited to 10000 ops/sec.' 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 1 11 | dataset: 12 | https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 13 | resources: 14 | requests: 15 | memory: 6g 16 | tested-groups: 17 | - geo 18 | tested-commands: 19 | - geodist 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:2.1.0 27 | tool: memtier_benchmark 28 | arguments: "-c 50 -t 4 --command=\"GEODIST key 1 2\" --hide-histogram --test-time 29 | 180 --rate-limiting 50" 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | 35 | priority: 166 36 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10 4 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO 5 | key contains 60841557 elements in it and we query it using GEOHASH command. Rate 6 | limited to 10000 ops/sec.' 7 | dbconfig: 8 | configuration-parameters: 9 | save: '""' 10 | check: 11 | keyspacelen: 1 12 | dataset: 13 | https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 14 | resources: 15 | requests: 16 | memory: 6g 17 | tested-groups: 18 | - geo 19 | tested-commands: 20 | - geohash 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:2.1.0 28 | tool: memtier_benchmark 29 | arguments: "--pipeline 10 -c 50 -t 4 --command=\"GEOHASH key 1\" --hide-histogram 30 | --test-time 180 --rate-limiting 50" 31 | resources: 32 | requests: 33 | cpus: '4' 34 | memory: 2g 35 | 36 | priority: 170 37 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geohash.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geohash 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO 4 | key contains 60841557 elements in it and we query it using GEOHASH command. Rate 5 | limited to 10000 ops/sec.' 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 1 11 | dataset: 12 | https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 13 | resources: 14 | requests: 15 | memory: 6g 16 | tested-groups: 17 | - geo 18 | tested-commands: 19 | - geohash 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:2.1.0 27 | tool: memtier_benchmark 28 | arguments: "-c 50 -t 4 --command=\"GEOHASH key 1\" --hide-histogram --test-time 29 | 180 --rate-limiting 50" 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | 35 | priority: 170 36 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10 4 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO 5 | key contains 60841557 elements in it and we query it using GEOPOS command. Rate 6 | limited to 10000 ops/sec.' 7 | dbconfig: 8 | configuration-parameters: 9 | save: '""' 10 | check: 11 | keyspacelen: 1 12 | dataset: 13 | https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 14 | resources: 15 | requests: 16 | memory: 6g 17 | tested-groups: 18 | - geo 19 | tested-commands: 20 | - geopos 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:2.1.0 28 | tool: memtier_benchmark 29 | arguments: "--pipeline 10 -c 50 -t 4 --command=\"GEOPOS key 1\" --hide-histogram 30 | --test-time 180 --rate-limiting 50" 31 | resources: 32 | requests: 33 | cpus: '4' 34 | memory: 2g 35 | 36 | priority: 138 37 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geopos.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geopos 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO 4 | key contains 60841557 elements in it and we query it using GEOPOS command. Rate 5 | limited to 10000 ops/sec.' 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 1 11 | dataset: 12 | https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 13 | resources: 14 | requests: 15 | memory: 6g 16 | tested-groups: 17 | - geo 18 | tested-commands: 19 | - geopos 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:2.1.0 27 | tool: memtier_benchmark 28 | arguments: "-c 50 -t 4 --command=\"GEOPOS key 1\" --hide-histogram --test-time 29 | 180 --rate-limiting 50" 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | 35 | priority: 138 36 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat 4 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO 5 | key contains 60841557 elements in it and we query it using GEOSEARCH command that 6 | replies with a very large (~100K ) number of elements. Rate limited to 10000 ops/sec.' 7 | dbconfig: 8 | configuration-parameters: 9 | save: '""' 10 | check: 11 | keyspacelen: 1 12 | dataset: 13 | https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 14 | resources: 15 | requests: 16 | memory: 6g 17 | tested-groups: 18 | - geo 19 | tested-commands: 20 | - geosearch 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:2.1.0 28 | tool: memtier_benchmark 29 | arguments: "-c 2 -t 4 --command=\"GEOSEARCH key FROMLONLAT 7.0 55.0 BYRADIUS 200 30 | KM\" --hide-histogram --test-time 180 --rate-limiting 1250" 31 | resources: 32 | requests: 33 | cpus: '4' 34 | memory: 2g 35 | 36 | priority: 158 37 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-list-10-elements-lrange-all-elements.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1key-list-10-elements-lrange-all-elements 4 | description: 'Runs memtier_benchmark, for a keyspace length of 1 LIST key. The LIST 5 | contains 10 elements in it and we query it using LRANGE with a range of all elements. Rate 6 | limited to 10000 ops/sec.' 7 | dbconfig: 8 | configuration-parameters: 9 | save: '""' 10 | check: 11 | keyspacelen: 1 12 | resources: 13 | requests: 14 | memory: 1g 15 | init_commands: 16 | - '"LPUSH" "list:10" "lysbgqqfqw" "mtccjerdon" "jekkafodvk" "nmgxcctxpn" "vyqqkuszzh" 17 | "pytrnqdhvs" "oguwnmniig" "gekntrykfh" "nhfnbxqgol" "cgoeihlnei"' 18 | tested-groups: 19 | - list 20 | tested-commands: 21 | - lrange 22 | redis-topologies: 23 | - oss-standalone 24 | build-variants: 25 | - gcc:8.5.0-amd64-debian-buster-default 26 | - dockerhub 27 | clientconfig: 28 | run_image: redislabs/memtier_benchmark:2.1.0 29 | tool: memtier_benchmark 30 | arguments: "--command=\"LRANGE list:10 0 -1\" --hide-histogram --test-time 180 31 | --rate-limiting 50" 32 | resources: 33 | requests: 34 | cpus: '4' 35 | memory: 2g 36 | 37 | priority: 34 38 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-pfadd-4KB-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1key-pfadd-4KB-values-pipeline-10 4 | description: Runs memtier_benchmark, for a keyspace length of 1 HyperLogLog key. Continuously 5 | add 4KB sized random elements using the PFADD command. Rate limited to 10000 ops/sec. 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 2g 14 | tested-groups: 15 | - hyperloglog 16 | tested-commands: 17 | - pfadd 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:2.1.0 25 | tool: memtier_benchmark 26 | arguments: "--pipeline 10 -c 2 -t 2 --command=\"PFADD hll __data__\" -R --data-size=4096\ 27 | \ --hide-histogram --test-time 180 --rate-limiting 2500" 28 | resources: 29 | requests: 30 | cpus: '4' 31 | memory: 2g 32 | 33 | priority: 61 34 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-set-10-elements-smembers-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1key-set-10-elements-smembers-pipeline-10 4 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SET key. The SET 5 | contains 10 elements in it and we query it using SMEMBERS that returns all elements. Rate 6 | limited to 10000 ops/sec.' 7 | dbconfig: 8 | configuration-parameters: 9 | save: '""' 10 | check: 11 | keyspacelen: 1 12 | resources: 13 | requests: 14 | memory: 1g 15 | init_commands: 16 | - '"SADD" "set:10" "lysbgqqfqw" "mtccjerdon" "jekkafodvk" "nmgxcctxpn" "vyqqkuszzh" 17 | "pytrnqdhvs" "oguwnmniig" "gekntrykfh" "nhfnbxqgol" "cgoeihlnei"' 18 | tested-groups: 19 | - set 20 | tested-commands: 21 | - smembers 22 | redis-topologies: 23 | - oss-standalone 24 | build-variants: 25 | - gcc:8.5.0-amd64-debian-buster-default 26 | - dockerhub 27 | clientconfig: 28 | run_image: redislabs/memtier_benchmark:2.1.0 29 | tool: memtier_benchmark 30 | arguments: "--pipeline 10 --command=\"SMEMBERS set:10\" --hide-histogram --test-time 31 | 180 --rate-limiting 50" 32 | resources: 33 | requests: 34 | cpus: '4' 35 | memory: 2g 36 | 37 | priority: 23 38 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-set-10-elements-smembers.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-1key-set-10-elements-smembers 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SET key. The SET 4 | contains 10 elements in it and we query it using SMEMBERS that returns all elements. Rate 5 | limited to 10000 ops/sec.' 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 1 11 | resources: 12 | requests: 13 | memory: 1g 14 | init_commands: 15 | - '"SADD" "set:10" "lysbgqqfqw" "mtccjerdon" "jekkafodvk" "nmgxcctxpn" "vyqqkuszzh" 16 | "pytrnqdhvs" "oguwnmniig" "gekntrykfh" "nhfnbxqgol" "cgoeihlnei"' 17 | tested-groups: 18 | - set 19 | tested-commands: 20 | - smembers 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:2.1.0 28 | tool: memtier_benchmark 29 | arguments: "--command=\"SMEMBERS set:10\" --hide-histogram --test-time 180 --rate-limiting 30 | 50" 31 | resources: 32 | requests: 33 | cpus: '4' 34 | memory: 2g 35 | 36 | priority: 23 37 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-1key-set-2M-elements-sadd-increasing.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: 3 | latency-rate-limited-10000_qps-memtier_benchmark-1key-set-2M-elements-sadd-increasing 4 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SET key with 2M elements 5 | at the end of benchmark. Rate limited to 10000 ops/sec.' 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 1g 14 | tested-groups: 15 | - set 16 | tested-commands: 17 | - sadd 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:2.1.0 25 | tool: memtier_benchmark 26 | arguments: "--command=\"SADD myset __key__\" --command-key-pattern=P --key-maximum 27 | 2000000 --key-prefix \"\" -n 1000000 -c 5 -t 4 --hide-histogram --rate-limiting 28 | 500" 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | priority: 30 34 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-2keys-lua-eval-hset-expire.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-2keys-lua-eval-hset-expire 3 | description: 'Runs memtier_benchmark, for a keyspace length of 2 HASH keys. This benchmark 4 | invokes the execution of a server-side Lua script doing 2 HSET commands and doing 5 | EXPIRE on those keys. Rate limited to 10000 ops/sec.' 6 | dbconfig: 7 | configuration-parameters: 8 | save: '""' 9 | check: 10 | keyspacelen: 0 11 | resources: 12 | requests: 13 | memory: 1g 14 | tested-groups: 15 | - scripting 16 | tested-commands: 17 | - eval 18 | - hset 19 | - expire 20 | - ping 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:2.1.0 28 | tool: memtier_benchmark 29 | arguments: "--command=\"eval \\\"redis.call('hset', 'h1', 'k', 'v');redis.call('hset', 30 | 'h2', 'k', 'v');redis.call('expire', 'h1', 3600);redis.call('expire', 'h2', 3600);return 31 | redis.call('ping')\\\" 0\" --hide-histogram --test-time 180 --rate-limiting 50" 32 | resources: 33 | requests: 34 | cpus: '4' 35 | memory: 2g 36 | 37 | priority: 39 38 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/latency-test-suites/latency-rate-limited-10000_qps-memtier_benchmark-connection-hello.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: latency-rate-limited-10000_qps-memtier_benchmark-connection-hello 3 | description: 'Runs memtier_benchmark, for no keyspace, benchmarking the connection 4 | setup scenario using HELLO command. Rate limited to 10000 ops/sec.' 5 | dbconfig: 6 | configuration-parameters: 7 | save: '""' 8 | check: 9 | keyspacelen: 0 10 | resources: 11 | requests: 12 | memory: 1g 13 | tested-groups: 14 | - connection 15 | tested-commands: 16 | - hello 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:2.1.0 24 | tool: memtier_benchmark 25 | arguments: "-c 50 -t 4 --command=\"HELLO 2 SETNAME __key__\" --hide-histogram --test-time 26 | 120 --rate-limiting 50" 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | priority: 1 33 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/setups/builders/gcc:10.5.0-amd64-debian-bullseye-redisearch.yml: -------------------------------------------------------------------------------- 1 | version: 0.1 2 | id: gcc:10.5.0-amd64-debian-bullseye-redisearch 3 | os: debian-bullseye 4 | arch: amd64 5 | compiler: "gcc" 6 | cpp_compiler: "g++" 7 | kind: docker 8 | build_image: gcc:10.5.0-bullseye 9 | run_image: debian:bullseye 10 | description: "Using GNU Compiler Containers (https://hub.docker.com/_/gcc?tab=description) 11 | pre-configured environment with all the tools required to build with gcc." 12 | build_artifacts: 13 | - redisearch.so 14 | - redis-server 15 | build_command: "sh -c 'apt update && apt install python3-pip -y && BUILD_WITH_MODULES=yes make --ignore-errors -j && cd modules/redisearch/src && make setup && make build && cd -'" 16 | metadata: 17 | compiler: "gcc" 18 | compiler_version: "10.5.0" 19 | os: debian-bullseye 20 | arch: amd64 21 | 22 | env: 23 | REDIS_CFLAGS: "-g -fno-omit-frame-pointer" 24 | 25 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/setups/builders/gcc:8.5.0-amd64-debian-buster-default.yml: -------------------------------------------------------------------------------- 1 | version: 0.1 2 | id: gcc:8.5.0-amd64-debian-buster-default 3 | os: debian-buster 4 | arch: amd64 5 | compiler: "gcc" 6 | cpp_compiler: "g++" 7 | kind: docker 8 | build_image: gcc:8.5.0-buster 9 | run_image: debian:buster 10 | description: "Using GNU Compiler Containers (https://hub.docker.com/_/gcc?tab=description) 11 | pre-configured environment with all the tools required to build with gcc." 12 | metadata: 13 | compiler: "gcc" 14 | compiler_version: "8.5.0" 15 | os: debian-buster 16 | arch: amd64 17 | 18 | env: 19 | REDIS_CFLAGS: "-g -fno-omit-frame-pointer" 20 | 21 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/setups/builders/gcc:8.5.0-arm64-debian-buster-default.yml: -------------------------------------------------------------------------------- 1 | version: 0.1 2 | id: gcc:8.5.0-arm64-debian-buster-default 3 | os: debian-buster 4 | arch: arm64 5 | compiler: "gcc" 6 | cpp_compiler: "g++" 7 | kind: docker 8 | build_image: gcc:8.5.0-buster 9 | run_image: debian:buster 10 | description: "Using GNU Compiler Containers (https://hub.docker.com/_/gcc?tab=description) 11 | pre-configured environment with all the tools required to build with gcc." 12 | metadata: 13 | compiler: "gcc" 14 | compiler_version: "8.5.0" 15 | os: debian-buster 16 | arch: arm64 17 | 18 | env: 19 | REDIS_CFLAGS: "-g -fno-omit-frame-pointer" 20 | 21 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/setups/platforms/aws-ec2-1node-c5.4xlarge.yml: -------------------------------------------------------------------------------- 1 | kind: VM 2 | 3 | infrastructure_as_code: 4 | trigger_mode: "provision" 5 | provisioning: 6 | setup_teardown_required: true 7 | definition_language: "hcl" 8 | definition_contributor: redislabs 9 | definition: https://github.com/RedisLabsModules/testing-infrastructure/tree/master/terraform/oss-1node-c5.4xlarge 10 | units: 1 11 | provider: "aws" 12 | os: "ubuntu18.04" 13 | os_arch: "linux/amd64" 14 | user: "ubuntu" 15 | pem: "benchmarks.redislabs.pem" 16 | 17 | metadata: 18 | labels: 19 | provider: "aws" 20 | instance_type: "c5.4xlarge" 21 | os: "ubuntu18.04" 22 | os_arch: "linux/amd64" 23 | definition_contributor: redislabs 24 | 25 | unit-specs: 26 | cpu: 16 27 | memory: 32 28 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-10Kkeys-load-list-with-10B-values-pipeline-50.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-10Kkeys-load-list-with-10B-values-pipeline-50 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading LISTs in which the value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - list 14 | tested-commands: 15 | - lpush 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: '"--data-size" "10" --pipeline 50 --command "LPUSH __key__ __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 10000 --test-time 180 -c 50 -t 4 --hide-histogram' 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | 30 | priority: 38 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 10M keys loading HASHES with 5 fields each. Each field value has a data size of 100 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 9g 12 | tested-commands: 13 | - hset 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--pipeline" "10" "--data-size" "100" --command "HSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" "--command-key-pattern" "P" --key-minimum=1 --key-maximum 10000000 -c 50 -t 4 --hide-histogram --test-time=180' 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - hash 30 | priority: 5 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 10M keys loading HASHES with 5 fields each. Each field value has a data size of 100 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 9g 12 | tested-commands: 13 | - hset 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 180 "--data-size" "100" --command "HSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 10000000 -c 50 -t 4 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - hash 30 | priority: 5 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 10M keys loading HASHES with 5 fields each. Each field value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 2g 12 | tested-commands: 13 | - hset 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 180 "--pipeline" "10" "--data-size" "10" --command "HSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 10000000 -c 50 -t 4 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - hash 30 | priority: 5 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 10M keys loading HASHES with 5 fields each. Each field value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 2g 12 | tested-commands: 13 | - hset 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 180 "--data-size" "10" --command "HSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 10000000 -c 50 -t 4 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - hash 30 | priority: 5 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-string-get-10B-pipeline-100-nokeyprefix.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-10Mkeys-string-get-10B-pipeline-100-nokeyprefix 3 | description: memtier_benchmark, 10M keys, string GET, 10B value size, pipeline=100, no key prefix 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 10000000 9 | resources: 10 | requests: 11 | memory: 10g 12 | tested-groups: 13 | - string 14 | tested-commands: 15 | - get 16 | redis-topologies: 17 | - oss-standalone 18 | - oss-cluster-3-primaries 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--data-size" "10" --command "GET __key__" --command-key-pattern="R" --key-prefix="" -c 50 -t 2 --pipeline 100 --hide-histogram --test-time 180' 23 | resources: 24 | requests: 25 | cpus: '3' 26 | memory: 2g 27 | 28 | priority: 33 29 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-psetex-expire-use-case.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-10B-psetex-expire-use-case 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 10 Bytes for each key, which 50% of the keys have expiration set during the benchmark. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "10" "--command" "SET __key__ __data__" "--command-key-pattern" "P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-groups: 17 | - string 18 | tested-commands: 19 | - psetex 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: '"--data-size" "10" --command "PSETEX __key__ 10 __data__" --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 120' 29 | resources: 30 | requests: 31 | cpus: '3' 32 | memory: 2g 33 | 34 | priority: 33 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-setex-expire-use-case.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-10B-setex-expire-use-case 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 10 Bytes for each key, which 50% of the keys have expiration set during the benchmark. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "10" "--command" "SET __key__ __data__" "--command-key-pattern" "P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-groups: 17 | - string 18 | tested-commands: 19 | - setex 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: '"--data-size" "10" --command "SETEX __key__ 10 __data__" --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 120' 29 | resources: 30 | requests: 31 | cpus: '3' 32 | memory: 2g 33 | 34 | priority: 33 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys focusing on EXISTS performance. 50% of the EXIST commands will be on non-existing keys. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --hide-histogram --key-minimum 1 --key-maximum 10000000 -c 50 -t 2 --pipeline 10 --command "SETBIT __key__ 1 1" --command-key-pattern "P" 13 | resources: 14 | requests: 15 | cpus: '2' 16 | memory: 1g 17 | tested-commands: 18 | - getbit 19 | tested-groups: 20 | - bitmap 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:edge 28 | tool: memtier_benchmark 29 | arguments: --pipeline 10 --command="GETBIT __key__ 1" --command-key-pattern="R" --command "GETBIT __key__ 100" --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 180 30 | resources: 31 | requests: 32 | cpus: '2' 33 | memory: 2g 34 | 35 | priority: 19 36 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-exists-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-generic-exists-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys focusing on EXISTS performance. 50% of the EXIST commands will be on non-existing keys. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--pipeline" "100" "--data-size" "100" "--command" "HSET __key__ field __data__" "--command-key-pattern" "P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - exists 18 | tested-groups: 19 | - generic 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --key-minimum=1 --key-maximum 2000000 --command "EXISTS __key__" --pipeline 10 --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 180 29 | resources: 30 | requests: 31 | cpus: '2' 32 | memory: 2g 33 | 34 | priority: 25 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expire-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-generic-expire-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys focusing on EXPIRE performance. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--pipeline" "100" "--data-size" "100" "--command" "HSET __key__ field __data__" "--command-key-pattern" "P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - expire 18 | tested-groups: 19 | - generic 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command "EXPIRE __key__ 3600" --pipeline 10 --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 180 29 | resources: 30 | requests: 31 | cpus: '2' 32 | memory: 2g 33 | 34 | priority: 11 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expireat-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-generic-expireat-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys focusing on EXPIREAT performance ( expire second is 2038, January 1 ). 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--pipeline" "100" "--data-size" "100" "--command" "HSET __key__ field __data__" "--command-key-pattern" "P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - expireat 18 | tested-groups: 19 | - generic 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command "EXPIREAT __key__ 2145916800" --pipeline 10 --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 180 29 | resources: 30 | requests: 31 | cpus: '2' 32 | memory: 2g 33 | 34 | priority: 29 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys focusing on PEXPIRE performance. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--pipeline" "100" "--data-size" "100" "--command" "HSET __key__ field __data__" "--command-key-pattern" "P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - pexpire 18 | tested-groups: 19 | - generic 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command "PEXPIRE __key__ 3600000" --pipeline 10 --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 180 29 | resources: 30 | requests: 31 | cpus: '2' 32 | memory: 2g 33 | 34 | priority: 57 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-generic-scan-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys focusing on SCAN performance. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--pipeline" "100" "--data-size" "100" "--command" "HSET __key__ field __data__" "--command-key-pattern" "P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - scan 18 | tested-groups: 19 | - generic 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command "SCAN 0" --pipeline 10 --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 180 29 | resources: 30 | requests: 31 | cpus: '2' 32 | memory: 2g 33 | 34 | priority: 44 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-touch-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-generic-touch-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys focusing on TOUCH performance. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "100" "--command" "SETEX __key__ 3600 __data__" "--command-key-pattern" "P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - touch 18 | tested-groups: 19 | - generic 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command "TOUCH __key__" --pipeline 10 --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 180 29 | resources: 30 | requests: 31 | cpus: '2' 32 | memory: 2g 33 | 34 | priority: 41 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-ttl-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-generic-ttl-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys focusing on TTL performance. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "100" "--command" "SETEX __key__ 3600 __data__" "--command-key-pattern" "P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - ttl 18 | tested-groups: 19 | - generic 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command "TTL __key__" --pipeline 10 --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 180 29 | resources: 30 | requests: 31 | cpus: '2' 32 | memory: 2g 33 | 34 | priority: 22 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading HASHES with 5 fields each. Each field value has a data size of 1000 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 6g 12 | tested-groups: 13 | - hash 14 | tested-commands: 15 | - hset 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: --test-time 180 "--pipeline" "10" "--data-size" "1000" --command "HSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | 30 | priority: 5 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading HASHES with 5 fields each. Each field value has a data size of 1000 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 6g 12 | tested-groups: 13 | - hash 14 | tested-commands: 15 | - hset 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: --test-time 180 "--data-size" "1000" --command "HSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | 30 | priority: 5 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading HASHES with 5 fields each. Each field value has a data size of 1000 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 6g 12 | tested-groups: 13 | - hash 14 | tested-commands: 15 | - hmset 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: --test-time 180 "--data-size" "1000" --command "HMSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | 30 | priority: 20 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-rpush-with-10B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-list-rpush-with-10B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading LISTs in which the value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - list 14 | tested-commands: 15 | - rpush 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: '"--data-size" "10" --command "RPUSH __key__ __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | 30 | priority: 38 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-100B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-list-with-100B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading LISTs in which the value has a data size of 100 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 8g 12 | tested-groups: 13 | - list 14 | tested-commands: 15 | - lpush 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: '"--data-size" "100" --command "LPUSH __key__ __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | 30 | priority: 38 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-list-with-10B-values-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading LISTs in which the value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - list 14 | tested-commands: 15 | - lpush 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: '"--data-size" "10" --pipeline 10 --command "LPUSH __key__ __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | 30 | priority: 38 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-list-with-10B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading LISTs in which the value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - list 14 | tested-commands: 15 | - lpush 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: '"--data-size" "10" --command "LPUSH __key__ __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | 30 | priority: 38 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-list-with-1KiB-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading LISTs in which the value has a data size of 1000 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 32g 12 | tested-groups: 13 | - list 14 | tested-commands: 15 | - lpush 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: '"--data-size" "1000" --command "LPUSH __key__ __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | 30 | priority: 38 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STREAMs in which the value has a data size of 100 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 5g 12 | tested-commands: 13 | - xadd 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--pipeline" "10" "--data-size" "100" --command "XADD __key__ MAXLEN ~ 1 * field __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - stream 30 | priority: 66 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STREAMs in which the value has a data size of 100 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 5g 12 | tested-commands: 13 | - xadd 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--data-size" "100" --command "XADD __key__ MAXLEN ~ 1 * field __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - stream 30 | priority: 66 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STREAMs in which the 5 field values have a data size of 100 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 8g 12 | tested-commands: 13 | - xadd 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--pipeline" "10" "--data-size" "100" --command "XADD __key__ MAXLEN ~ 5 * field __data__ field __data__ field __data__ field __data__ field __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - stream 30 | priority: 66 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STREAMs in which the 5 field values have a data size of 100 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 8g 12 | tested-commands: 13 | - xadd 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--data-size" "100" --command "XADD __key__ MAXLEN ~ 5 * field __data__ field __data__ field __data__ field __data__ field __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - stream 30 | priority: 66 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs in which the value has a data size of 100 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--pipeline" "10" "--data-size" "100" --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - string 30 | priority: 17 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-string-with-100B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs in which the value has a data size of 100 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 12g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone 16 | 17 | build-variants: 18 | - gcc:8.5.0-amd64-debian-buster-default 19 | - dockerhub 20 | clientconfig: 21 | run_image: redislabs/memtier_benchmark:edge 22 | tool: memtier_benchmark 23 | arguments: '"--data-size" "100" --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 24 | resources: 25 | requests: 26 | cpus: '4' 27 | memory: 2g 28 | scalability: 29 | mode: '1:1' 30 | max_processes: 21 31 | 32 | tested-groups: 33 | - string 34 | priority: 17 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs in which the value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--pipeline" "10" "--data-size" "10" --distinct-client-seed --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 1000000 --test-time 120 -c 10 -t 10 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: '10' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - string 30 | priority: 17 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100-nokeyprefix.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100-nokeyprefix 3 | description: memtier_benchmark, 1M keys, string SET, 10B value size, pipeline=100, no key prefix 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - string 14 | tested-commands: 15 | - set 16 | redis-topologies: 17 | - oss-standalone 18 | - oss-cluster-3-primaries 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--data-size" "10" --command "SET __key__ __data__" --command-key-pattern="R" --key-prefix="" -c 50 -t 2 --pipeline 100 --hide-histogram --test-time 180' 23 | resources: 24 | requests: 25 | cpus: '3' 26 | memory: 2g 27 | 28 | priority: 33 29 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs in which the value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--pipeline" "100" "--data-size" "10" --distinct-client-seed --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 1000000 --test-time 120 -c 10 -t 10 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: '10' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - string 30 | priority: 17 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-50.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-50 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs in which the value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--pipeline" "50" "--data-size" "10" --distinct-client-seed --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 1000000 --test-time 120 -c 10 -t 10 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: '10' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - string 30 | priority: 17 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-500.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-500 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs in which the value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--pipeline" "500" "--data-size" "10" --distinct-client-seed --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 1000000 --test-time 120 -c 10 -t 10 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: '10' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - string 30 | priority: 17 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-string-with-10B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs in which the value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--data-size" "10" --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - string 30 | priority: 17 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-1KiB-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-string-with-1KiB-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs in which the value has a data size of 1000 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 3g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--data-size" "1000" --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | tested-groups: 29 | - string 30 | priority: 17 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-20KiB-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-string-with-20KiB-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs in which the value has a data size of 20K Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 12g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone 16 | 17 | build-variants: 18 | - gcc:8.5.0-amd64-debian-buster-default 19 | - dockerhub 20 | clientconfig: 21 | run_image: redislabs/memtier_benchmark:edge 22 | tool: memtier_benchmark 23 | arguments: '"--data-size" "20000" --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 24 | resources: 25 | requests: 26 | cpus: '4' 27 | memory: 2g 28 | scalability: 29 | mode: '1:1' 30 | max_processes: 21 31 | 32 | tested-groups: 33 | - string 34 | priority: 17 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading ZSETs with 10 elements. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-commands: 13 | - zadd 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 180 -c 50 -t 4 --command "ZADD __key__ 0.306275 lysbgqqfqw 0.486004 mtccjerdon 0.941626 jekkafodvk 0.602656 nmgxcctxpn 0.630771 vyqqkuszzh 0.406379 pytrnqdhvs 0.521814 oguwnmniig 0.182854 gekntrykfh 0.657658 nhfnbxqgol 0.218066 cgoeihlnei" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 4g 27 | 28 | tested-groups: 29 | - sorted-set 30 | priority: 12 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading ZSETs with 10 elements. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-commands: 13 | - zadd 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 180 -c 50 -t 4 --command "ZADD __key__ 1 lysbgqqfqw 2 mtccjerdon 3 jekkafodvk 4 nmgxcctxpn 5 vyqqkuszzh 6 pytrnqdhvs 7 oguwnmniig 8 gekntrykfh 9 nhfnbxqgol 10 cgoeihlnei" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 4g 27 | 28 | tested-groups: 29 | - sorted-set 30 | priority: 12 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-append-1-100B.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-append-1-100B 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 1 Bytes for each key initially. Then we append to the same keys with values ranging from 1 to 100B. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "1" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - append 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --test-time 120 --data-size-range=1-100 --command "APPEND __key__ __data__" --command-key-pattern="R" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-decr.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-decr 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys testing use embedded string object encoding on the string and doing decr command. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: ' --command "SET __key__ 9223372036854775807" --command-key-pattern="P" -n 5000 --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - decr 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --test-time 180 --command "DECR __key__" --command-key-pattern="R" --key-minimum=1 --key-maximum 1000000 -c 4 -t 4 --hide-histogram 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 98 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-get-100B-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 100 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "100" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - get 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: '--pipeline 10 --data-size 100 --ratio 0:1 --key-pattern R:R -c 25 -t 4 --hide-histogram --test-time 180' 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-get-100B 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 100 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "100" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - get 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: '--data-size 100 --ratio 0:1 --key-pattern R:R -c 25 -t 4 --hide-histogram --test-time 180' 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-get-10B-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 10 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--key-maximum" "1000000" "-n" "allkeys" "--data-size" "10" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - get 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: '"--pipeline" "10" --distinct-client-seed "--data-size" "10" --ratio 0:1 --key-pattern R:R -c 10 -t 10 --hide-histogram --test-time 120' 27 | resources: 28 | requests: 29 | cpus: '10' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-100-nokeyprefix.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-get-10B-pipeline-100-nokeyprefix 3 | description: memtier_benchmark, 1M keys, string GET, 10B value size, pipeline=100, no key prefix 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - string 14 | tested-commands: 15 | - get 16 | redis-topologies: 17 | - oss-standalone 18 | - oss-cluster-3-primaries 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--data-size" "10" --command "GET __key__" --command-key-pattern="R" --key-prefix="" -c 50 -t 2 --pipeline 100 --hide-histogram --test-time 180' 23 | resources: 24 | requests: 25 | cpus: '3' 26 | memory: 2g 27 | 28 | priority: 33 29 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-100.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-get-10B-pipeline-100 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 10 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--key-maximum" "1000000" "-n" "allkeys" "--data-size" "10" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - get 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: '"--pipeline" "100" --distinct-client-seed "--data-size" "10" --ratio 0:1 --key-pattern R:R -c 10 -t 10 --hide-histogram --test-time 120' 27 | resources: 28 | requests: 29 | cpus: '10' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-50.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-get-10B-pipeline-50 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 10 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--key-maximum" "1000000" "-n" "allkeys" "--data-size" "10" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - get 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: '"--pipeline" "50" --distinct-client-seed "--data-size" "10" --ratio 0:1 --key-pattern R:R -c 10 -t 10 --hide-histogram --test-time 120' 27 | resources: 28 | requests: 29 | cpus: '10' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-500.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-get-10B-pipeline-500 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 10 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--key-maximum" "1000000" "-n" "allkeys" "--data-size" "10" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - get 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: '"--pipeline" "500" --distinct-client-seed "--data-size" "10" --ratio 0:1 --key-pattern R:R -c 10 -t 10 --hide-histogram --test-time 120' 27 | resources: 28 | requests: 29 | cpus: '10' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-get-10B 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 10 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "10" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - get 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: '"--data-size" "10" --distinct-client-seed --ratio 0:1 --key-pattern R:R -c 10 -t 10 --hide-histogram --test-time 120' 27 | resources: 28 | requests: 29 | cpus: '10' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 1000 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "1000" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 2g 16 | tested-commands: 17 | - get 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --pipeline 10 --data-size 1000 --ratio 0:1 --key-pattern R:R -c 25 -t 4 --hide-histogram --test-time 180 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-get-1KiB 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 1000 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "1000" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 2g 16 | tested-commands: 17 | - get 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --data-size 1000 --ratio 0:1 --key-pattern R:R -c 25 -t 4 --hide-histogram --test-time 180 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incr-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-incr-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys doing incr of 1. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | resources: 8 | requests: 9 | memory: 1g 10 | tested-groups: 11 | - string 12 | tested-commands: 13 | - incr 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 120 --pipeline 10 --command "INCR __key__" --command-key-pattern="R" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | priority: 21 29 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrby-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-incrby-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys doing incrby of 1. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | resources: 8 | requests: 9 | memory: 1g 10 | tested-groups: 11 | - string 12 | tested-commands: 13 | - incrby 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 120 --pipeline 10 --command "INCRBY __key__ 1" --command-key-pattern="R" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | priority: 21 29 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrby.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-incrby 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys doing incrby of 1. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | resources: 8 | requests: 9 | memory: 1g 10 | tested-groups: 11 | - string 12 | tested-commands: 13 | - incrby 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 120 --command "INCRBY __key__ 1" --command-key-pattern="R" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | priority: 21 29 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys doing incrby of 0.01. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | resources: 8 | requests: 9 | memory: 1g 10 | tested-groups: 11 | - string 12 | tested-commands: 13 | - incrbyfloat 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 120 --pipeline 10 --command "INCRBYFLOAT __key__ 0.01" --command-key-pattern="R" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | priority: 21 29 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrbyfloat.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-incrbyfloat 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys doing incrby of 0.01. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | resources: 8 | requests: 9 | memory: 1g 10 | tested-groups: 11 | - string 12 | tested-commands: 13 | - incrbyfloat 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 120 --command "INCRBYFLOAT __key__ 0.01" --command-key-pattern="R" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | priority: 21 29 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-int-encoding-strlen-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-int-encoding-strlen-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys int encoded, checking STRLEN command performance. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 999998 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: ' --command "SET __key__ __key__" --key-prefix "" --command-key-pattern="S" --key-minimum=2 --key-maximum 1000000 -c 1 -t 1 --pipeline 100 --hide-histogram -n allkeys' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - strlen 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --command "STRLEN __key__" --key-prefix "" --command-key-pattern="G" --key-minimum=2 --key-maximum 1000000 -c 50 -t 4 --pipeline 10 --hide-histogram --test-time 60 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 98 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mget-1KiB.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-mget-1KiB 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 1000 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --data-size 1000 --key-maximum 1000000 --key-prefix "" --command="SET __key__ __data__" --command-key-pattern P --key-minimum 1 --hide-histogram -t 2 -c 100 13 | resources: 14 | requests: 15 | memory: 2g 16 | tested-commands: 17 | - mget 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --key-prefix "" --command "MGET __key__ 1 2 3 4 5 6 7 8 9" -c 50 -t 2 --hide-histogram --test-time 180 27 | resources: 28 | requests: 29 | cpus: '2' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 13 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-set-with-ex-100B-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-set-with-ex-100B-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 100 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "100" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - set 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --test-time 120 --pipeline 10 --command "SET __key__ __value__ EX 3600" --command-key-pattern="R" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | tested-groups: 32 | - string 33 | priority: 1 34 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setex-100B-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-setex-100B-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 100 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "100" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - setex 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --test-time 120 --pipeline 10 --command "SETEX __key__ 3600 __value__" --command-key-pattern="R" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | tested-groups: 32 | - string 33 | priority: 1 34 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setrange-100B-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-setrange-100B-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 100 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "100" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - setrange 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --test-time 120 --pipeline 10 --data-size-range=1-95 --command "SETRANGE __key__ 5 __data__" --command-key-pattern="R" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setrange-100B.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-string-setrange-100B 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 100 Bytes for each key. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "100" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - setrange 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --test-time 120 --data-size-range=1-95 --command "SETRANGE __key__ 5 __data__" --command-key-pattern="R" --key-minimum=1 --key-maximum 1000000 -c 50 -t 4 --hide-histogram 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-2-elements-geopos.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-geo-2-elements-geopos 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO key contains 2 elements and comes from the example of https://redis.io/docs/latest/commands/geopos, and we query it using GEOPOS command.' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | resources: 10 | requests: 11 | memory: 1g 12 | init_commands: 13 | - '"GEOADD" "Sicily" "13.361389" "38.115556" "Palermo" "15.087269" "37.502669" "Catania"' 14 | tested-groups: 15 | - geo 16 | tested-commands: 17 | - geopos 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: -c 50 -t 4 --command="GEOPOS Sicily Palermo Catania" --hide-histogram --test-time 120 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | priority: 138 33 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-2-elements-geosearch-fromlonlat-withcoord.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-geo-2-elements-geosearch-fromlonlat-withcoord 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO key contains 2 elements and comes from the example of https://redis.io/docs/latest/commands/geosearch, and we query it using GEOSEARCH command.' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | resources: 10 | requests: 11 | memory: 1g 12 | init_commands: 13 | - '"GEOADD" "Sicily" "13.361389" "38.115556" "Palermo" "15.087269" "37.502669" "Catania"' 14 | - '"GEOADD" "Sicily" "12.758489" "38.788135" "edge1" "17.241510" "38.788135" "edge2"' 15 | tested-groups: 16 | - geo 17 | tested-commands: 18 | - geosearch 19 | redis-topologies: 20 | - oss-standalone 21 | build-variants: 22 | - gcc:8.5.0-amd64-debian-buster-default 23 | - dockerhub 24 | clientconfig: 25 | run_image: redislabs/memtier_benchmark:edge 26 | tool: memtier_benchmark 27 | arguments: -c 50 -t 4 --command="GEOSEARCH Sicily FROMLONLAT 15 37 BYBOX 400 400 km ASC WITHCOORD WITHDIST" --hide-histogram --test-time 120 28 | resources: 29 | requests: 30 | cpus: '4' 31 | memory: 2g 32 | 33 | priority: 138 34 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO key contains 60841557 elements in it and we query it using GEODIST command between 2 elements. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | dataset: https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 10 | resources: 11 | requests: 12 | memory: 6g 13 | tested-groups: 14 | - geo 15 | tested-commands: 16 | - geodist 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:edge 24 | tool: memtier_benchmark 25 | arguments: --pipeline 10 -c 50 -t 4 --command="GEODIST key 1 2" --hide-histogram --test-time 180 26 | resources: 27 | requests: 28 | cpus: '4' 29 | memory: 2g 30 | 31 | priority: 166 32 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-geo-60M-elements-geodist 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO key contains 60841557 elements in it and we query it using GEODIST command between 2 elements. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | dataset: https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 10 | resources: 11 | requests: 12 | memory: 6g 13 | tested-groups: 14 | - geo 15 | tested-commands: 16 | - geodist 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:edge 24 | tool: memtier_benchmark 25 | arguments: -c 50 -t 4 --command="GEODIST key 1 2" --hide-histogram --test-time 180 26 | resources: 27 | requests: 28 | cpus: '4' 29 | memory: 2g 30 | 31 | priority: 166 32 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO key contains 60841557 elements in it and we query it using GEOHASH command. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | dataset: https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 10 | resources: 11 | requests: 12 | memory: 6g 13 | tested-groups: 14 | - geo 15 | tested-commands: 16 | - geohash 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:edge 24 | tool: memtier_benchmark 25 | arguments: --pipeline 10 -c 50 -t 4 --command="GEOHASH key 1" --hide-histogram --test-time 180 26 | resources: 27 | requests: 28 | cpus: '4' 29 | memory: 2g 30 | 31 | priority: 170 32 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-geo-60M-elements-geohash 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO key contains 60841557 elements in it and we query it using GEOHASH command. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | dataset: https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 10 | resources: 11 | requests: 12 | memory: 6g 13 | tested-groups: 14 | - geo 15 | tested-commands: 16 | - geohash 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:edge 24 | tool: memtier_benchmark 25 | arguments: -c 50 -t 4 --command="GEOHASH key 1" --hide-histogram --test-time 180 26 | resources: 27 | requests: 28 | cpus: '4' 29 | memory: 2g 30 | 31 | priority: 170 32 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO key contains 60841557 elements in it and we query it using GEOPOS command. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | dataset: https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 10 | resources: 11 | requests: 12 | memory: 6g 13 | tested-groups: 14 | - geo 15 | tested-commands: 16 | - geopos 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:edge 24 | tool: memtier_benchmark 25 | arguments: --pipeline 10 -c 50 -t 4 --command="GEOPOS key 1" --hide-histogram --test-time 180 26 | resources: 27 | requests: 28 | cpus: '4' 29 | memory: 2g 30 | 31 | priority: 138 32 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-geo-60M-elements-geopos 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO key contains 60841557 elements in it and we query it using GEOPOS command. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | dataset: https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 10 | resources: 11 | requests: 12 | memory: 6g 13 | tested-groups: 14 | - geo 15 | tested-commands: 16 | - geopos 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:edge 24 | tool: memtier_benchmark 25 | arguments: -c 50 -t 4 --command="GEOPOS key 1" --hide-histogram --test-time 180 26 | resources: 27 | requests: 28 | cpus: '4' 29 | memory: 2g 30 | 31 | priority: 138 32 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO key contains 60841557 elements in it and we query it using GEOSEARCH command that replies with a very large (~11K ) number of elements. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | dataset: https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 10 | resources: 11 | requests: 12 | memory: 6g 13 | tested-groups: 14 | - geo 15 | tested-commands: 16 | - geosearch 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:edge 24 | tool: memtier_benchmark 25 | arguments: -c 2 -t 4 --command="GEOSEARCH key FROMLONLAT 7.0 55.0 BYBOX 200 200 KM" --hide-histogram --test-time 180 26 | resources: 27 | requests: 28 | cpus: '4' 29 | memory: 2g 30 | 31 | priority: 158 32 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO key contains 60841557 elements in it and we query it using GEOSEARCH command that replies with a very large (~100K ) number of elements. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | dataset: https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 10 | resources: 11 | requests: 12 | memory: 6g 13 | tested-groups: 14 | - geo 15 | tested-commands: 16 | - geosearch 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:edge 24 | tool: memtier_benchmark 25 | arguments: --pipeline 10 -c 2 -t 4 --command="GEOSEARCH key FROMLONLAT 7.0 55.0 BYRADIUS 200 KM" --hide-histogram --test-time 180 26 | resources: 27 | requests: 28 | cpus: '4' 29 | memory: 2g 30 | 31 | priority: 158 32 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 GEO key. The GEO key contains 60841557 elements in it and we query it using GEOSEARCH command that replies with a very large (~100K ) number of elements. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | dataset: https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb 10 | resources: 11 | requests: 12 | memory: 6g 13 | tested-groups: 14 | - geo 15 | tested-commands: 16 | - geosearch 17 | redis-topologies: 18 | - oss-standalone 19 | build-variants: 20 | - gcc:8.5.0-amd64-debian-buster-default 21 | - dockerhub 22 | clientconfig: 23 | run_image: redislabs/memtier_benchmark:edge 24 | tool: memtier_benchmark 25 | arguments: -c 2 -t 4 --command="GEOSEARCH key FROMLONLAT 7.0 55.0 BYRADIUS 200 KM" --hide-histogram --test-time 180 26 | resources: 27 | requests: 28 | cpus: '4' 29 | memory: 2g 30 | 31 | priority: 158 32 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-list-10-elements-lrange-all-elements-pipeline-10 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 LIST key. The LIST contains 10 elements in it and we query it using LRANGE with a range of all elements. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | resources: 10 | requests: 11 | memory: 1g 12 | init_commands: 13 | - '"LPUSH" "list:10" "lysbgqqfqw" "mtccjerdon" "jekkafodvk" "nmgxcctxpn" "vyqqkuszzh" "pytrnqdhvs" "oguwnmniig" "gekntrykfh" "nhfnbxqgol" "cgoeihlnei"' 14 | tested-groups: 15 | - list 16 | tested-commands: 17 | - lrange 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --pipeline 10 --command="LRANGE list:10 0 -1" --hide-histogram --test-time 180 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | priority: 34 33 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-list-10-elements-lrange-all-elements 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 LIST key. The LIST contains 10 elements in it and we query it using LRANGE with a range of all elements. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | resources: 10 | requests: 11 | memory: 1g 12 | init_commands: 13 | - '"LPUSH" "list:10" "lysbgqqfqw" "mtccjerdon" "jekkafodvk" "nmgxcctxpn" "vyqqkuszzh" "pytrnqdhvs" "oguwnmniig" "gekntrykfh" "nhfnbxqgol" "cgoeihlnei"' 14 | tested-groups: 15 | - list 16 | tested-commands: 17 | - lrange 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --command="LRANGE list:10 0 -1" --hide-histogram --test-time 180 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | priority: 34 33 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-integer.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-list-10K-elements-lindex-integer 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 LIST key. The LIST contains 10000 integer elements in it and we query it using LINDEX of a element that we know it is in the middle of the list. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --hide-histogram --command "RPUSH intlist __key__" --key-maximum 10000 --key-minimum 1 -n allkeys --key-prefix "" --command-key-pattern S -c 1 -t 1 --pipeline 10 13 | resources: 14 | requests: 15 | cpus: '2' 16 | memory: 1g 17 | tested-groups: 18 | - list 19 | tested-commands: 20 | - lindex 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:edge 28 | tool: memtier_benchmark 29 | arguments: --command="LINDEX intlist 5000" --hide-histogram --test-time 120 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | priority: 34 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-string.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-list-10K-elements-lindex-string 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 LIST key. The LIST contains 10000 string elements in it and we query it using LPOS of a element that we know it is in the middle of the list. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --hide-histogram --command "RPUSH strlist __key__" --key-maximum 10000 --key-minimum 1 -n allkeys --key-prefix "hello" --command-key-pattern S -c 1 -t 1 --pipeline 10 13 | resources: 14 | requests: 15 | cpus: '2' 16 | memory: 1g 17 | tested-groups: 18 | - list 19 | tested-commands: 20 | - lindex 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:edge 28 | tool: memtier_benchmark 29 | arguments: --command="LINDEX strlist 5000" --hide-histogram --test-time 120 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | priority: 34 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lpos-integer.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-list-10K-elements-lpos-integer 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 LIST key. The LIST contains 10000 integer elements in it and we query it using LPOS of a element that we know it is in the middle of the list. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --hide-histogram --command "RPUSH intlist __key__" --key-maximum 10000 --key-minimum 1 -n allkeys --key-prefix "" --command-key-pattern S -c 1 -t 1 --pipeline 10 13 | resources: 14 | requests: 15 | cpus: '2' 16 | memory: 1g 17 | tested-groups: 18 | - list 19 | tested-commands: 20 | - lpos 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:edge 28 | tool: memtier_benchmark 29 | arguments: --command="LPOS intlist 5000" --hide-histogram --test-time 120 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | priority: 34 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lpos-string.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-list-10K-elements-lpos-string 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 LIST key. The LIST contains 10000 string elements in it and we query it using LPOS of a element that we know it is in the middle of the list. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --hide-histogram --command "RPUSH strlist __key__" --key-maximum 10000 --key-minimum 1 -n allkeys --key-prefix "hello" --command-key-pattern S -c 1 -t 1 --pipeline 10 13 | resources: 14 | requests: 15 | cpus: '2' 16 | memory: 1g 17 | tested-groups: 18 | - list 19 | tested-commands: 20 | - lpos 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:edge 28 | tool: memtier_benchmark 29 | arguments: --command="LPOS strlist hello5000" --hide-histogram --test-time 120 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | priority: 34 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-pfadd-4KB-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-pfadd-4KB-values-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1 HyperLogLog key. Continuously add 4KB sized random elements using the PFADD command. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 2g 12 | tested-groups: 13 | - hyperloglog 14 | tested-commands: 15 | - pfadd 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: --pipeline 10 -c 2 -t 2 --command="PFADD hll __data__" -R --data-size=4096 --hide-histogram --test-time 180 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | 30 | priority: 61 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-set-10-elements-smembers-pipeline-10 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SET key. The SET contains 10 elements in it and we query it using SMEMBERS that returns all elements. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | resources: 10 | requests: 11 | memory: 1g 12 | init_commands: 13 | - '"SADD" "set:10" "lysbgqqfqw" "mtccjerdon" "jekkafodvk" "nmgxcctxpn" "vyqqkuszzh" "pytrnqdhvs" "oguwnmniig" "gekntrykfh" "nhfnbxqgol" "cgoeihlnei"' 14 | tested-groups: 15 | - set 16 | tested-commands: 17 | - smembers 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --pipeline 10 --command="SMEMBERS set:10" --hide-histogram --test-time 180 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | priority: 23 33 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-set-10-elements-smembers 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SET key. The SET contains 10 elements in it and we query it using SMEMBERS that returns all elements. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | resources: 10 | requests: 11 | memory: 1g 12 | init_commands: 13 | - '"SADD" "set:10" "lysbgqqfqw" "mtccjerdon" "jekkafodvk" "nmgxcctxpn" "vyqqkuszzh" "pytrnqdhvs" "oguwnmniig" "gekntrykfh" "nhfnbxqgol" "cgoeihlnei"' 14 | tested-groups: 15 | - set 16 | tested-commands: 17 | - smembers 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --command="SMEMBERS set:10" --hide-histogram --test-time 180 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | priority: 23 33 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smismember.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-set-10-elements-smismember 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SET key. The SET contains 10 elements in it and we query it using SMISMEMBER with 2 elements in which one is present and the other is not. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | resources: 10 | requests: 11 | memory: 1g 12 | init_commands: '"SADD" "set:10" "lysbgqqfqw" "mtccjerdon" "jekkafodvk" "nmgxcctxpn" "vyqqkuszzh" "pytrnqdhvs" "oguwnmniig" "gekntrykfh" "nhfnbxqgol" "cgoeihlnei"' 13 | tested-groups: 14 | - set 15 | tested-commands: 16 | - smembers 17 | - smismember 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --command="SMISMEMBER set:10 lysbgqqfqw not-a-member" --hide-histogram --test-time 180 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | priority: 106 33 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10M-elements-sismember-50pct-chance.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-set-10M-elements-sismember-50pct-chance 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SET key with 10M elements. We query it using SISMEMBER in which the value has 50% change of being member. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | resources: 10 | requests: 11 | memory: 1g 12 | preload_tool: 13 | run_image: redislabs/memtier_benchmark:edge 14 | tool: memtier_benchmark 15 | arguments: --command="SADD set:10M:elements __key__" --command-key-pattern=P --key-maximum 10000000 --key-prefix "" -n 10000000 --hide-histogram -t 1 -c 1 16 | tested-groups: 17 | - set 18 | tested-commands: 19 | - sadd 20 | - sismember 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:edge 28 | tool: memtier_benchmark 29 | arguments: --command="SISMEMBER set:10M:elements __key__" --key-maximum 20000000 --key-prefix "" --hide-histogram --test-time 180 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10M-elements-srem-50pct-chance.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-set-10M-elements-srem-50pct-chance 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SET key with 10M elements. We query it using SISMEMBER in which the value has 50% change of being member. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | resources: 10 | requests: 11 | memory: 1g 12 | preload_tool: 13 | run_image: redislabs/memtier_benchmark:edge 14 | tool: memtier_benchmark 15 | arguments: --command="SADD set:10M:elements __key__" --command-key-pattern=P --key-maximum 10000000 --key-prefix "" -n 10000000 --hide-histogram -t 1 -c 1 16 | tested-groups: 17 | - set 18 | tested-commands: 19 | - srem 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command="SREM set:10M:elements __key__" --key-maximum 20000000 --key-prefix "" --hide-histogram --test-time 120 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | priority: 1 34 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1M-elements-sismember-50pct-chance.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-set-1M-elements-sismember-50pct-chance 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SET key with 1M elements. We query it using SISMEMBER in which the value has 50% change of being member. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | resources: 10 | requests: 11 | memory: 1g 12 | preload_tool: 13 | run_image: redislabs/memtier_benchmark:edge 14 | tool: memtier_benchmark 15 | arguments: --command="SADD set:1M:elements __key__" --command-key-pattern=P --key-maximum 1000000 --key-prefix "" -n 1000000 --hide-histogram -t 1 -c 1 16 | tested-groups: 17 | - set 18 | tested-commands: 19 | - sadd 20 | - sismember 21 | redis-topologies: 22 | - oss-standalone 23 | build-variants: 24 | - gcc:8.5.0-amd64-debian-buster-default 25 | - dockerhub 26 | clientconfig: 27 | run_image: redislabs/memtier_benchmark:edge 28 | tool: memtier_benchmark 29 | arguments: --command="SISMEMBER set:1M:elements __key__" --key-maximum 2000000 --key-prefix "" --hide-histogram --test-time 180 30 | resources: 31 | requests: 32 | cpus: '4' 33 | memory: 2g 34 | priority: 1 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-200K-elements-sadd-constant.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-set-200K-elements-sadd-constant 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SET key with 200K elements. The SADD is being issued on a SET with constant size (we are just updating its members but not increasing). ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | resources: 10 | requests: 11 | memory: 1g 12 | preload_tool: 13 | run_image: redislabs/memtier_benchmark:edge 14 | tool: memtier_benchmark 15 | arguments: --command="SADD myset __key__" --command-key-pattern=P --pipeline 100 --key-maximum 200000 --key-prefix "" -n 200000 --hide-histogram -t 1 -c 1 16 | tested-groups: 17 | - set 18 | tested-commands: 19 | - sadd 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command="SADD myset __key__" --key-maximum 200000 --key-prefix "" --hide-histogram --test-time 180 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | priority: 30 34 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-2M-elements-sadd-increasing.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-set-2M-elements-sadd-increasing 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SET key with 2M elements at the end of benchmark.' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - set 14 | tested-commands: 15 | - sadd 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: --command="SADD myset __key__" --command-key-pattern=P --key-maximum 2000000 --key-prefix "" -n 1000000 -c 5 -t 4 --hide-histogram 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | priority: 30 30 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zincrby-1M-elements-pipeline-1.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-zincrby-1M-elements-pipeline-1 3 | description: Runs memtier_benchmark, for a keyspace length of 1 SORTED SET key. The SORTED SET contains 1M elements and we increment the score of memebers using ZINCRBY. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --command="ZADD key1 __key__ __key__" --command-key-pattern=P --key-maximum 1000000 --key-prefix "" -n 1000000 --hide-histogram -t 1 -c 1 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-groups: 17 | - sorted-set 18 | tested-commands: 19 | - zincrby 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command="ZINCRBY key1 1 __key__" --key-maximum 1000000 --command-key-pattern=R --key-prefix "" --hide-histogram --test-time 180 --pipeline 1 -c 1 -t 1 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 67 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-100K-elements-pipeline-1.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-zrank-100K-elements-pipeline-1 3 | description: Runs memtier_benchmark, for a keyspace length of 1 SORTED SET key. The SORTED SET contains 100K elements and we query it using ZRANK. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --pipeline 50 --command="ZADD key1 __key__ __key__" --command-key-pattern=P --key-maximum 100000 --key-prefix "" -n allkeys --hide-histogram -t 1 -c 1 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-groups: 17 | - sorted-set 18 | tested-commands: 19 | - zrank 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command="ZRANK key1 __key__" --key-maximum 100000 --command-key-pattern=R --key-prefix "" --hide-histogram --test-time 180 --pipeline 1 -c 1 -t 1 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 72 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-10M-elements-pipeline-1.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-zrank-10M-elements-pipeline-1 3 | description: Runs memtier_benchmark, for a keyspace length of 1 SORTED SET key. The SORTED SET contains 10M elements and we query it using ZRANK. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --pipeline 50 --command="ZADD key1 __key__ __key__" --command-key-pattern=P --key-maximum 10000000 --key-prefix "" -n 1000000 --hide-histogram -t 10 -c 1 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-groups: 17 | - sorted-set 18 | tested-commands: 19 | - zrank 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command="ZRANK key1 __key__" --key-maximum 10000000 --command-key-pattern=R --key-prefix "" --hide-histogram --test-time 180 --pipeline 1 -c 1 -t 1 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 72 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-1M-elements-pipeline-1.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-zrank-1M-elements-pipeline-1 3 | description: Runs memtier_benchmark, for a keyspace length of 1 SORTED SET key. The SORTED SET contains 1M elements and we query it using ZRANK. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --pipeline 50 --command="ZADD key1 __key__ __key__" --command-key-pattern=P --key-maximum 1000000 --key-prefix "" -n 100000 --hide-histogram -t 10 -c 1 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-groups: 17 | - sorted-set 18 | tested-commands: 19 | - zrank 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command="ZRANK key1 __key__" --key-maximum 1000000 --command-key-pattern=R --key-prefix "" --hide-histogram --test-time 180 --pipeline 1 -c 1 -t 1 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 72 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1 3 | description: Runs memtier_benchmark, for a keyspace length of 1 SORTED SET key. The SORTED SET contains 256K elements of 1KB each and we query it using ZREVRANGEBYSCORE. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --command="ZADD key1 __key__ __data__" --command-key-pattern=P --key-maximum 262144 --key-prefix "" -R --data-size=1024 -n 262144 --hide-histogram -t 1 -c 1 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-groups: 17 | - sorted-set 18 | tested-commands: 19 | - zrevrangebyscore 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command="ZREVRANGEBYSCORE key1 262144 1 WITHSCORES LIMIT 1 10" --hide-histogram --test-time 180 --pipeline 1 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 16 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1 SORTED SET key. The SORTED SET contains 256K elements of 1KB each and we query it using ZREVRANGEBYSCORE. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --command="ZADD key1 __key__ __data__" --command-key-pattern=P --key-maximum 262144 --key-prefix "" -R --data-size=1024 -n 262144 --hide-histogram -t 1 -c 1 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-groups: 17 | - sorted-set 18 | tested-commands: 19 | - zrevrangebyscore 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command="ZREVRANGEBYSCORE key1 262144 1 WITHSCORES LIMIT 1 10" --hide-histogram --test-time 180 --pipeline 10 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 16 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1 3 | description: Runs memtier_benchmark, for a keyspace length of 1 SORTED SET key. The SORTED SET contains 1M elements and we query it using ZREVRANK. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --command="ZADD key1 __key__ __key__" --command-key-pattern=P --key-maximum 1000000 --key-prefix "" -n 1000000 --hide-histogram -t 1 -c 1 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-groups: 17 | - sorted-set 18 | tested-commands: 19 | - zrevrank 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command="ZREVRANK key1 __key__" --key-maximum 1000000 --command-key-pattern=R --key-prefix "" --hide-histogram --test-time 180 --pipeline 1 -c 1 -t 1 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 58 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-zset-10-elements-zrange-all-elements 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SORTED SET key. The SORTED SET contains 10 elements in it and we query it using ZRANGE BYSCORE with a range of all elements. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | resources: 10 | requests: 11 | memory: 1g 12 | init_commands: 13 | - '"ZADD" "zset:10" "0.306275" "lysbgqqfqw" "0.486004" "mtccjerdon" "0.941626" "jekkafodvk" "0.602656" "nmgxcctxpn" "0.630771" "vyqqkuszzh" "0.406379" "pytrnqdhvs" "0.521814" "oguwnmniig" "0.182854" "gekntrykfh" "0.657658" "nhfnbxqgol" "0.218066" "cgoeihlnei"' 14 | tested-groups: 15 | - sorted-set 16 | tested-commands: 17 | - zrange 18 | redis-topologies: 19 | - oss-standalone 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: --command="ZRANGE zset:10 0 1 BYSCORE WITHSCORES" --hide-histogram --test-time 180 27 | resources: 28 | requests: 29 | cpus: '4' 30 | memory: 2g 31 | 32 | priority: 53 33 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1 SORTED SET key. The SORTED SET contains 1M elements in it and we query it using ZCARD. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --key-maximum 1000000 --key-prefix "" --command="ZADD lb __key__ __key__" --command-key-pattern P --hide-histogram -t 4 -c 100 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-groups: 17 | - sorted-set 18 | tested-commands: 19 | - zcard 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command="ZCARD lb" --hide-histogram --test-time 180 --pipeline 10 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 10 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements 3 | description: 'Runs memtier_benchmark, for a keyspace length of 1 SORTED SET key. The SORTED SET contains 1M elements in it and we query it using ZREVRANGE with a range of 5 elements. This benchmarks helps assessing: https://github.com/redis/redis/issues/10310' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --key-maximum 1000000 --key-prefix "" --command="ZADD lb __key__ __key__" --command-key-pattern P --hide-histogram -t 4 -c 100 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-groups: 17 | - sorted-set 18 | tested-commands: 19 | - zrevrange 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command="ZREVRANGE lb 5 10" --hide-histogram --test-time 180 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 8 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1 SORTED SET key. The SORTED SET contains 1M elements in it and we query it using ZCARD. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --key-maximum 1000000 --key-prefix "" --command="ZADD lb __key__ __key__" --command-key-pattern P --hide-histogram -t 4 -c 100 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-groups: 17 | - sorted-set 18 | tested-commands: 19 | - zscore 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command="zscore lb __key__" --key-prefix "" --hide-histogram --test-time 180 --pipeline 10 29 | resources: 30 | requests: 31 | cpus: '4' 32 | memory: 2g 33 | 34 | priority: 18 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-eval-hset-expire.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-2keys-lua-eval-hset-expire 3 | description: 'Runs memtier_benchmark, for a keyspace length of 2 HASH keys. This benchmark invokes the execution of a server-side Lua script doing 2 HSET commands and doing EXPIRE on those keys. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - scripting 14 | tested-commands: 15 | - eval 16 | - hset 17 | - expire 18 | - ping 19 | redis-topologies: 20 | - oss-standalone 21 | build-variants: 22 | - gcc:8.5.0-amd64-debian-buster-default 23 | - dockerhub 24 | clientconfig: 25 | run_image: redislabs/memtier_benchmark:edge 26 | tool: memtier_benchmark 27 | arguments: --command="eval \"redis.call('hset', 'h1', 'k', 'v');redis.call('hset', 'h2', 'k', 'v');redis.call('expire', 'h1', 3600);redis.call('expire', 'h2', 3600);return redis.call('ping')\" 0" --hide-histogram --test-time 180 28 | resources: 29 | requests: 30 | cpus: '4' 31 | memory: 2g 32 | 33 | priority: 39 34 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-evalsha-hset-expire.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-2keys-lua-evalsha-hset-expire 3 | description: 'Runs memtier_benchmark, for a keyspace length of 2 HASH keys. This benchmark invokes the execution of a server-side Lua script doing 2 HSET commands and doing EXPIRE on those keys. ' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | init_commands: 13 | - - SCRIPT 14 | - LOAD 15 | - redis.call('hset', 'h1', 'k', 'v');redis.call('hset', 'h2', 'k', 'v');redis.call('expire', 'h1', 3600);redis.call('expire', 'h2', 3600);return 16 | 17 | redis-topologies: 18 | - oss-standalone 19 | tested-groups: 20 | - scripting 21 | tested-commands: 22 | - evalsha 23 | - hset 24 | - expire 25 | - ping 26 | build-variants: 27 | - gcc:8.5.0-amd64-debian-buster-default 28 | - dockerhub 29 | clientconfig: 30 | run_image: redislabs/memtier_benchmark:edge 31 | tool: memtier_benchmark 32 | arguments: --command="EVALSHA 5664e4cac3c4cb86682722a5e3cf03e2f83ce7a1 0" --hide-histogram --test-time 180 33 | resources: 34 | requests: 35 | cpus: '4' 36 | memory: 2g 37 | 38 | priority: 24 39 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-3Mkeys-load-string-with-512B-values-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 3M keys loading STRINGs in which the value has a data size of 512 Bytes, with 650 clients running sequential SET commands. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 3g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone 16 | - oss-standalone-02-io-threads 17 | - oss-standalone-04-io-threads 18 | - oss-standalone-08-io-threads 19 | - oss-standalone-16-io-threads 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: '"--data-size" "512" --pipeline 10 --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 3000000 --test-time 180 -c 50 -t 13 --hide-histogram' 27 | resources: 28 | requests: 29 | cpus: '13' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 17 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-3Mkeys-load-string-with-512B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 3M keys loading STRINGs in which the value has a data size of 512 Bytes, with 650 clients running sequential SET commands. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 3g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone 16 | - oss-standalone-02-io-threads 17 | - oss-standalone-04-io-threads 18 | - oss-standalone-08-io-threads 19 | - oss-standalone-16-io-threads 20 | build-variants: 21 | - gcc:8.5.0-amd64-debian-buster-default 22 | - dockerhub 23 | clientconfig: 24 | run_image: redislabs/memtier_benchmark:edge 25 | tool: memtier_benchmark 26 | arguments: '"--data-size" "512" --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 3000000 --test-time 180 -c 50 -t 13 --hide-histogram' 27 | resources: 28 | requests: 29 | cpus: '13' 30 | memory: 2g 31 | 32 | tested-groups: 33 | - string 34 | priority: 17 35 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-connection-hello-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-connection-hello-pipeline-10 3 | description: 'Runs memtier_benchmark, for no keyspace, benchmarking the connection setup scenario using HELLO command.' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - connection 14 | tested-commands: 15 | - hello 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: -c 50 -t 4 --pipeline 10 --command="HELLO 2 SETNAME __key__" --hide-histogram --test-time 120 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | 30 | priority: 1 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-connection-hello.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-connection-hello 3 | description: 'Runs memtier_benchmark, for no keyspace, benchmarking the connection setup scenario using HELLO command.' 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - connection 14 | tested-commands: 15 | - hello 16 | redis-topologies: 17 | - oss-standalone 18 | build-variants: 19 | - gcc:8.5.0-amd64-debian-buster-default 20 | - dockerhub 21 | clientconfig: 22 | run_image: redislabs/memtier_benchmark:edge 23 | tool: memtier_benchmark 24 | arguments: -c 50 -t 4 --command="HELLO 2 SETNAME __key__" --hide-histogram --test-time 120 25 | resources: 26 | requests: 27 | cpus: '4' 28 | memory: 2g 29 | 30 | priority: 1 31 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-connection-ping-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-nokeys-connection-ping-pipeline-10 3 | description: Runs memtier_benchmark, for a empty keyspace doing the TIME command. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | resources: 8 | requests: 9 | memory: 1g 10 | tested-groups: 11 | - connection 12 | tested-commands: 13 | - ping 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 120 --pipeline 10 --command "PING" --command-key-pattern="R" -c 50 -t 4 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | priority: 21 29 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-publish-1K-channels-10B-no-subscribers.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-nokeys-pubsub-publish-1K-channels-10B-no-subscribers 3 | description: Runs memtier_benchmark, for a empty keyspace doing the PUBSUB's PUBLISH command with no subscribers. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | resources: 8 | requests: 9 | memory: 1g 10 | tested-groups: 11 | - pubsub 12 | tested-commands: 13 | - publish 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 120 --pipeline 10 -d 10 --key-maximum 1000 --command "PUBLISH __key__ __data__" --command-key-pattern="R" -c 50 -t 4 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | priority: 21 29 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-server-time-pipeline-10.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-nokeys-server-time-pipeline-10 3 | description: Runs memtier_benchmark, for a empty keyspace doing the TIME command. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | resources: 8 | requests: 9 | memory: 1g 10 | tested-groups: 11 | - server 12 | tested-commands: 13 | - time 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: --test-time 120 --pipeline 10 --command "TIME" --command-key-pattern="R" -c 50 -t 4 --hide-histogram 23 | resources: 24 | requests: 25 | cpus: '4' 26 | memory: 2g 27 | 28 | priority: 21 29 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/test-suites/template.txt: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: change_me 3 | description: describe me. 4 | redis-topologies: 5 | - oss-standalone 6 | build-variants: 7 | - gcc:8.5.0-amd64-debian-buster-default 8 | - dockerhub 9 | clientconfig: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: --pipeline 10 -c 2 -t 2 --command="HSET __key__ field __data__" -R --data-size=30 --hide-histogram --test-time 180 13 | resources: 14 | requests: 15 | cpus: '4' 16 | memory: 2g 17 | 18 | -------------------------------------------------------------------------------- /redis_benchmarks_specification/vector-search-test-suites/vector_db_benchmark_test.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: vector_db_benchmark_test 3 | description: Test if vector-db-benchmark can be run with this tool 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-groups: 13 | - search 14 | tested-commands: 15 | - hset 16 | - ft.search 17 | redis-topologies: 18 | - oss-standalone-with-redisearch 19 | build-variants: 20 | - gcc:10.5.0-amd64-debian-bullseye-redisearch 21 | - dockerhub 22 | clientconfig: 23 | run_image: vector-db-benchmark:test 24 | tool: vector_db_benchmark 25 | datasets: laion-img-emb-512-1M-cosine 26 | engine: redis-hnsw-m-16-ef-128 27 | #arguments: '"--data-size" "100" --command "LPUSH __key__ __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 28 | resources: 29 | requests: 30 | cpus: '4' 31 | memory: 2g 32 | 33 | exporter: 34 | redistimeseries: 35 | break_by: 36 | - version 37 | - commit 38 | metrics: 39 | - upload_time 40 | - total_time 41 | - rps 42 | - precision 43 | 44 | priority: 38 45 | -------------------------------------------------------------------------------- /spec-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redis/redis-benchmarks-specification/5ba288a8e5219c48c247b0d7f4f0343f82ae819c/spec-logo.png -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | isolated_build = True 3 | envlist = integration-tests 4 | 5 | [tox:.package] 6 | # note tox will use the same python version as under what tox is installed to package 7 | # so unless this is python 3 you can require a given python version for the packaging 8 | # environment via the basepython key 9 | basepython = python3 10 | 11 | [testenv:integration-tests] 12 | 13 | docker = 14 | datasink 15 | db_server 16 | 17 | deps = 18 | -r{toxinidir}/dev_requirements.txt 19 | 20 | 21 | passenv = TST_BUILDER_X,TST_RUNNER_X,GH_TOKEN,TST_REDIS_DIR,DOCKER_HOST,DOCKER_TLS_VERIFY,DOCKER_CERT_PATH,TST_BINARY_REDIS_DIR 22 | 23 | stoponfail = 24 | True 25 | 26 | commands = 27 | black --check redis_benchmarks_specification 28 | #flake8 redis_benchmarks_specification 29 | coverage erase 30 | coverage run --include=redis_benchmarks_specification/* -m pytest -ra {posargs} 31 | coverage report -m 32 | 33 | 34 | [docker] 35 | docker_host = unix:///var/run/docker.sock 36 | 37 | [docker:datasink] 38 | image = redis/redis-stack-server:7.4.0-v0 39 | expose = 40 | DATASINK_PORT=6379/tcp 41 | 42 | [docker:db_server] 43 | image = redis/redis-stack-server:7.4.0-v0 44 | ports = 45 | DBSERVER_PORT=6379/tcp -------------------------------------------------------------------------------- /utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redis/redis-benchmarks-specification/5ba288a8e5219c48c247b0d7f4f0343f82ae819c/utils/__init__.py -------------------------------------------------------------------------------- /utils/create-hset.py: -------------------------------------------------------------------------------- 1 | import random 2 | import sys 3 | 4 | command_str = "HSET __key__" 5 | count = int(sys.argv[1]) 6 | for x in range(1, count + 1): 7 | command_str = command_str + f" field:{x} __data__" 8 | 9 | print(command_str) 10 | -------------------------------------------------------------------------------- /utils/create-intset.py: -------------------------------------------------------------------------------- 1 | import random 2 | import sys 3 | 4 | random.seed(12345) 5 | 6 | 7 | command = sys.argv[1] 8 | count = int(sys.argv[2]) 9 | 10 | command_str = f"{command} int:{count}" 11 | for x in range(1, count + 1): 12 | randint = random.randint(1, 1000000) 13 | command_str = command_str + f" {randint}" 14 | 15 | print(command_str) 16 | -------------------------------------------------------------------------------- /utils/create-zset-300-elements.py: -------------------------------------------------------------------------------- 1 | import random 2 | import string 3 | 4 | random.seed(12345) 5 | 6 | 7 | def generate_random_string(length): 8 | """Generate a random string of specified length.""" 9 | characters = string.ascii_letters 10 | return "".join(random.choice(characters) for _ in range(length)) 11 | 12 | 13 | for d in ["1", "2"]: 14 | command = f"ZADD zset:skiplist:{d}:300" 15 | for x in range(1, 300 + 1): 16 | rand_ele = generate_random_string(random.randint(1, 64)) 17 | rand_score = random.random() 18 | command = command + f" {rand_score} ele:{x}:{rand_ele}" 19 | 20 | print(command) 21 | -------------------------------------------------------------------------------- /utils/test-requirements.txt: -------------------------------------------------------------------------------- 1 | pytest 2 | pytest-cov 3 | codecov 4 | black 5 | flake8 6 | tox>=3.26.0 7 | tox-docker>=3.1.0 8 | -------------------------------------------------------------------------------- /utils/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redis/redis-benchmarks-specification/5ba288a8e5219c48c247b0d7f4f0343f82ae819c/utils/tests/__init__.py -------------------------------------------------------------------------------- /utils/tests/test_data/icc-2021.3.0-amd64-ubuntu18.04-libc.yml: -------------------------------------------------------------------------------- 1 | version: 0.1 2 | id: icc-2021.3.0-amd64-ubuntu18.04-libc 3 | os: ubuntu18.04 4 | arch: amd64 5 | compiler: "icc" 6 | cpp_compiler: "icc" 7 | kind: docker 8 | build_image: intel/oneapi-hpckit:2021.3-devel-ubuntu18.04 9 | description: "Using Intel® oneAPI Containers (https://github.com/intel/oneapi-containers) 10 | pre-configured environment with all the tools required to build with Intel related products 11 | and targeting Intel® environments and their instruction set extensions." 12 | metadata: 13 | compiler: "icc" 14 | compiler_version: "2021.3.0 20210609" 15 | os: ubuntu18.04 16 | arch: amd64 17 | 18 | env: 19 | MALLOC: "libc" 20 | 21 | -------------------------------------------------------------------------------- /utils/tests/test_data/test-suites/defaults.yml: -------------------------------------------------------------------------------- 1 | 2 | exporter: 3 | redistimeseries: 4 | break_by: 5 | - version 6 | - commit 7 | timemetric: $."ALL STATS".Runtime."Start time" 8 | metrics: 9 | - $."BEST RUN RESULTS".Totals."Ops/sec" 10 | - $."BEST RUN RESULTS".Totals."Latency" 11 | - $."BEST RUN RESULTS".Totals."Misses/sec" 12 | - $."BEST RUN RESULTS".Totals."Percentile Latencies"."p50.00" 13 | - $."WORST RUN RESULTS".Totals."Ops/sec" 14 | - $."WORST RUN RESULTS".Totals."Latency" 15 | - $."WORST RUN RESULTS".Totals."Misses/sec" 16 | - $."WORST RUN RESULTS".Totals."Percentile Latencies"."p50.00" 17 | - $."AGGREGATED AVERAGE RESULTS (3 runs)".Totals."Ops/sec" 18 | - $."AGGREGATED AVERAGE RESULTS (3 runs)".Totals."Latency" 19 | - $."AGGREGATED AVERAGE RESULTS (3 runs)".Totals."Misses/sec" 20 | - $."AGGREGATED AVERAGE RESULTS (5 runs)".Totals."Percentile Latencies"."p50.00" 21 | - $."ALL STATS".Totals."Ops/sec" 22 | - $."ALL STATS".Totals."Latency" 23 | - $."ALL STATS".Totals."Misses/sec" 24 | - $."ALL STATS".Totals."Percentile Latencies"."p50.00" 25 | -------------------------------------------------------------------------------- /utils/tests/test_data/test-suites/generic-touch.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-generic-touch-pipeline-10 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys focusing on TOUCH performance. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 1000000 9 | preload_tool: 10 | run_image: redislabs/memtier_benchmark:edge 11 | tool: memtier_benchmark 12 | arguments: '"--data-size" "100" "--command" "SETEX __key__ 3600 __data__" "--command-key-pattern" "P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' 13 | resources: 14 | requests: 15 | memory: 1g 16 | tested-commands: 17 | - touch 18 | tested-groups: 19 | - generic 20 | redis-topologies: 21 | - oss-standalone 22 | build-variants: 23 | - gcc:8.5.0-amd64-debian-buster-default 24 | - dockerhub 25 | clientconfig: 26 | run_image: redislabs/memtier_benchmark:edge 27 | tool: memtier_benchmark 28 | arguments: --command "TOUCH __key__" --pipeline 10 --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 180 29 | resources: 30 | requests: 31 | cpus: '2' 32 | memory: 2g 33 | 34 | priority: 41 35 | -------------------------------------------------------------------------------- /utils/tests/test_data/test-suites/test-memtier-dockerhub-iothreads.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-string-with-10B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs in which the value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone-02-io-threads 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--data-size" "10" --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: "1" 26 | memory: "2g" 27 | 28 | tested-groups: 29 | - string 30 | priority: 17 31 | -------------------------------------------------------------------------------- /utils/tests/test_data/test-suites/test-memtier-dockerhub.yml: -------------------------------------------------------------------------------- 1 | version: 0.4 2 | name: memtier_benchmark-1Mkeys-load-string-with-10B-values 3 | description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs in which the value has a data size of 10 Bytes. 4 | dbconfig: 5 | configuration-parameters: 6 | save: '""' 7 | check: 8 | keyspacelen: 0 9 | resources: 10 | requests: 11 | memory: 1g 12 | tested-commands: 13 | - set 14 | redis-topologies: 15 | - oss-standalone 16 | build-variants: 17 | - gcc:8.5.0-amd64-debian-buster-default 18 | - dockerhub 19 | clientconfig: 20 | run_image: redislabs/memtier_benchmark:edge 21 | tool: memtier_benchmark 22 | arguments: '"--data-size" "10" --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 50 -t 4 --hide-histogram' 23 | resources: 24 | requests: 25 | cpus: "1" 26 | memory: "2g" 27 | 28 | tested-groups: 29 | - string 30 | priority: 17 31 | -------------------------------------------------------------------------------- /utils/tests/test_data/test-suites/topologies.yml: -------------------------------------------------------------------------------- 1 | spec: 2 | setups: 3 | - name: oss-standalone 4 | type: oss-standalone 5 | redis_topology: 6 | primaries: 1 7 | replicas: 0 8 | resources: 9 | requests: 10 | cpus: "1" 11 | memory: "10g" 12 | 13 | - name: oss-standalone-02-io-threads 14 | type: oss-standalone 15 | redis_topology: 16 | primaries: 1 17 | replicas: 0 18 | redis_arguments: --io-threads 2 --io-threads-do-reads yes 19 | resources: 20 | requests: 21 | cpus: "1" 22 | memory: "10g" 23 | -------------------------------------------------------------------------------- /utils/tests/test_schema.py: -------------------------------------------------------------------------------- 1 | from redis_benchmarks_specification.__builder__.schema import ( 2 | get_build_config, 3 | get_build_config_metadata, 4 | ) 5 | 6 | 7 | def test_get_build_config(): 8 | config_files = [ 9 | "./utils/tests/test_data/icc-2021.3.0-amd64-ubuntu18.04-libc.yml", 10 | ] 11 | for filename in config_files: 12 | build_config, id = get_build_config(filename) 13 | assert id == "icc-2021.3.0-amd64-ubuntu18.04-libc" 14 | assert build_config["env"]["MALLOC"] == "libc" 15 | 16 | 17 | def test_get_build_config_metadata(): 18 | build_config, _ = get_build_config( 19 | "./utils/tests/test_data/icc-2021.3.0-amd64-ubuntu18.04-libc.yml" 20 | ) 21 | build_config_metadata = get_build_config_metadata(build_config) 22 | for k in ["arch", "compiler", "compiler_version", "os"]: 23 | assert k in build_config_metadata.keys() 24 | assert len(build_config_metadata.keys()) == 4 25 | -------------------------------------------------------------------------------- /utils/tests/test_topologies.py: -------------------------------------------------------------------------------- 1 | from redis_benchmarks_specification.__common__.spec import ( 2 | extract_redis_configuration_from_topology, 3 | ) 4 | from redis_benchmarks_specification.__setups__.topologies import get_topologies 5 | 6 | 7 | def test_get_topologies(): 8 | topologies_map = get_topologies( 9 | "./redis_benchmarks_specification/setups/topologies/topologies.yml" 10 | ) 11 | assert "oss-standalone" in topologies_map 12 | assert topologies_map["oss-standalone"]["resources"]["requests"]["cpus"] == "1" 13 | 14 | 15 | def test_extract_redis_configuration_from_topology(): 16 | topologies_map = get_topologies( 17 | "./redis_benchmarks_specification/setups/topologies/topologies.yml" 18 | ) 19 | assert "oss-standalone-04-io-threads" in topologies_map.keys() 20 | res = extract_redis_configuration_from_topology( 21 | topologies_map, "oss-standalone-04-io-threads" 22 | ) 23 | assert res != "" 24 | assert "--io-threads 4 --io-threads-do-reads yes" in res 25 | --------------------------------------------------------------------------------