{"id":19331991,"url":"https://github.com/tikv/terraform-tikv-bench","last_synced_at":"2026-02-03T18:32:34.686Z","repository":{"id":66192347,"uuid":"197075276","full_name":"tikv/terraform-tikv-bench","owner":"tikv","description":"An Orcestrated TiKV benchmark. Not for production deployment.","archived":false,"fork":false,"pushed_at":"2019-07-17T02:37:43.000Z","size":9,"stargazers_count":4,"open_issues_count":1,"forks_count":1,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-01-06T08:42:58.902Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tikv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-15T21:31:21.000Z","updated_at":"2020-04-13T11:46:03.000Z","dependencies_parsed_at":"2023-02-24T08:45:38.196Z","dependency_job_id":null,"html_url":"https://github.com/tikv/terraform-tikv-bench","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tikv%2Fterraform-tikv-bench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tikv%2Fterraform-tikv-bench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tikv%2Fterraform-tikv-bench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tikv%2Fterraform-tikv-bench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tikv","download_url":"https://codeload.github.com/tikv/terraform-tikv-bench/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240434299,"owners_count":19800550,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T02:43:23.213Z","updated_at":"2026-02-03T18:32:34.609Z","avatar_url":"https://github.com/tikv.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"**Disclaimer:** Public clouds are *very* unstable performance, you may see dramatically different numbers between runs due to noise, jitter, disk wear, scheduling, machine locality, and network topology. If you want to have stable benchmarks, you should adapt this script to a dedicated machine.\n\nYou'll need a DO API token ([$50 credit referral](https://m.do.co/c/b6156cf29450)), `openssh` (with `scp`), and `terraform` to run this benchmark. You can get these tools from your friendly package manager. (Don't have one? [Win](https://scoop.sh/)/[Mac](https://brew.sh/))\n\nFirst, you'll need to roll an SSH key next into the `key` and `key.pub` files.\n\n```bash\nssh-keygen -t ed25519 -f key\n```\n\nSecond, you need to initialize Terraform.\n\n```bash\nterraform init\n```\n\nThird, you'll need to set up your `./terraform.tfvars` file.\n\n```tf\ndo_token=\"Your_token_goes_here\"\n```\n\nFinally, you can run the benchmark:\n\n```bash\n# Warning: This **will** cost you money hourly until you run `terraform destroy`\nterraform apply\n```\n\nYou'll find results in `results-first` and `results-second` folders. By default, first is `2.1.14`, second is `3.0.0`.\n\nAfter, **make sure to run** `terraform destroy` so you don't get additional charges.\n\n# Knobs\n\nThere are various knobs you can tweak in your `terraform.tfvars`. For a full list of knobs you can look at the variables in the `bench.tf` file.\n\n**Warning:** Scaling `pd` is not supported yet.\n\nYou can scale the number of `tikv` nodes:\n\n```tf\ntikv_count = 1\n```\n\nYou can change the docker images benchmarked:\n\n```tf\ntikv_image = \"you/tikv:latest\"\npd_image = \"you/pd:latest\"\n```\n\nYou can change the machine sizes as well (find the valid sizes with `doctl compute size list` from the `doctl` utility):\n\n```tf\ntikv_size = \"s-4vcpu-8gb\"\npd_size = \"s-4vcpu-8gb\"\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftikv%2Fterraform-tikv-bench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftikv%2Fterraform-tikv-bench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftikv%2Fterraform-tikv-bench/lists"}