diff --git a/docs/development/benchmarking.md b/docs/development/benchmarking.md
new file mode 100644
index 00000000..b87fe72b
--- /dev/null
+++ b/docs/development/benchmarking.md
@@ -0,0 +1,85 @@
+---
+sidebar_position: 3
+---
+
+# Benchmarking
+
+Do you have an existing Redis environment and would like to see if Dragonfly could be a better
+replacement?
+Are you developing a service and would like to determine which cloud instance type to
+allocate for Dragonfly?
+Do you wonder how many replicas you need to support your workload?
+
+If so, read on, because this page is for you!
+
+## Choosing an Environment
+
+A benchmark is done to assess the performance aspects of a system. In the case of Dragonfly, a
+benchmark is commonly used to assess the CPU and memory performance & utilization.
+
+Depending on the goals of your benchmark, you should choose the machine size accordingly. For a
+production mimicking benchmark, you should use a machine size and traffic load similar to that of
+your busiest production timing, or even higher to allow for some cushion.
+
+If you do not use a cloud instance, it might be a good idea to configure your CPU's governance to
+performance by issuing:
+
+```shell
+sudo apt install linux-tools-common linux-tools-generic
+sudo cpupower frequency-set --governor performance
+```
+
+Then, when you're done with the benchmark you could reboot your machine or run the following:
+
+```shell
+sudo cpupower frequency-set --governor powersave
+```
+
+## Setting Up Dragonfly
+
+Dragonfly can run in [Docker](/getting-started/docker) or directly installed as a
+[binary](/getting-started/binary) on your machine. See the [Getting Started](/getting-started) page
+for other options and the latest documentation.
+
+## Reducing Noise
+
+Ideally, a benchmark should be run in as similar as possible environment as the production setup.
+
+In busy production deployments, it is common to run Dragonfly in its own machine (virtual or
+dedicated). If you plan to do so in your production setup as well (which we highly recommend),
+consider running the benchmark in a similar way.
+
+In practice, it means that any other systems in your setup (like other services & databases) should
+run in other machines. Importantly, also the software that sends the traffic should run in another
+machine.
+
+## Sending Traffic
+
+If your service already has existing benchmarking tools, or ways to record and replay production
+traffic, you should definitely use them. That would be the closest estimation to what a real
+production deployment with a backing Dragonfly would look like.
+
+If, like many others, you do not (yet) have such a tool, you could either write your own tool to
+simulate production traffic or use an existing tool like `memtier_benchmark`.
+
+When writing your own tool, try to recreate the production traffic as closely as possible. Use the
+same commands (like `SET`, `GET`, `SADD`, etc), with the expected ratio between them, and the
+expected key and value sizes.
+
+If you choose to use an existing benchmarking tool, a popular and mature one is
+[`memtier_benchmark`](https://github.com/RedisLabs/memtier_benchmark). It's an Open Source tool for
+generic load generation and benchmarking with many features. Check out their documentation page for
+more details, but as a quick reference you could use:
+
+```shell
+memtier_benchmark \
+ --server= \
+ --threads= \
+ --clients= \
+ --requests=
+```
+
+## Having Troubles? Anything Unclear?
+
+Improving our documentation and helping the community is always of the higher priority for us, so
+please feel free to reach out!