Skip to content
This repository has been archived by the owner on Aug 1, 2023. It is now read-only.
/ cockroachdb-ycsb Public archive

Benchmarking scripts for Read Scalability in Raft

Notifications You must be signed in to change notification settings

gitanuj/cockroachdb-ycsb

Repository files navigation

Benchmarking Read Scalability in Raft

This repo contains all the scripts to run YCSB benchmarks on cockroachDB cluster.

  • common.sh, run-benchmark.sh and master.sh are the scripts responsible to setting up machines and running benchamarks.
  • ec2.py is a helper script to start/stop ec2 instances.
  • lhfallback-prob.go is a helper script to generate x for lease-holder reads ratio.
  • plot.py and extract-results.py are data extraction and plot generation scripts.

Custom cockroachDB env vars

These are set by common.sh when using the scripts.

  • COCKROACH_MAX_TXN_RETRIES int [0, INT_MAX)
    • Workaround the zipfian bug to abort txns after max retries.
  • COCKROACH_READ_TYPE int {0, 1, 2, 3}
    • 0: Default lease-holder reads
    • 1: Local reads
    • 2: Quorum reads
    • 3: Strongly consistent quorum reads
  • COCKROACH_LHFALLBACK_PROB float [0.0, 1.0]
    • Ratio of read requests which should use lease-holder reads while using quorum reads.

Setup machines

Cockroach Server

  1. Install nmon
  2. Copy over cockroach binary

YCSB Client

  1. Install python, java and nmon
  2. Copy over contents from ycsb-client-files

Master machine

  1. Copy over common.sh, master.sh and run-benchmark.sh
  2. (Optional) Copy over ec2.py and lhfallback-prob.go

Steps to run

  1. Update vars in common.sh
  2. Execute master.sh

About

Benchmarking scripts for Read Scalability in Raft

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published