From 36feb7d3e420e6b8a6df72a727a7ea4c07e517c7 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Sun, 8 Dec 2019 13:23:15 +0200 Subject: [PATCH] docs: add draft version of case studies --- README.md | 12 ++++++-- docs/CaseStudies.md | 43 +++++++++++++++++++++++++++ docs/Single-server-VictoriaMetrics.md | 10 +++++-- 3 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 docs/CaseStudies.md diff --git a/README.md b/README.md index 2d4862af7..5d530a639 100644 --- a/README.md +++ b/README.md @@ -5,18 +5,24 @@ [![Build Status](https://github.com/VictoriaMetrics/VictoriaMetrics/workflows/main/badge.svg)](https://github.com/VictoriaMetrics/VictoriaMetrics/actions) [![codecov](https://codecov.io/gh/VictoriaMetrics/VictoriaMetrics/branch/master/graph/badge.svg)](https://codecov.io/gh/VictoriaMetrics/VictoriaMetrics) -Victoria Metrics +Victoria Metrics -## Single-node VictoriaMetrics +## VictoriaMetrics VictoriaMetrics is fast, cost-effective and scalable time-series database. It can be used as long-term remote storage for Prometheus. It is available in [binary releases](https://github.com/VictoriaMetrics/VictoriaMetrics/releases), [docker images](https://hub.docker.com/r/victoriametrics/victoria-metrics/) and -in [source code](https://github.com/VictoriaMetrics/VictoriaMetrics). +in [source code](https://github.com/VictoriaMetrics/VictoriaMetrics). Just download VictoriaMetrics and see [how to start it](#how-to-start-victoriametrics). Cluster version is available [here](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/cluster). +## Case studies + +* [Wix.com](https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/CaseStudies#wixcom) +* [Wedos.com](https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/CaseStudies#wedoscom) + + ## Prominent features * Supports [Prometheus querying API](https://prometheus.io/docs/prometheus/latest/querying/api/), so it can be used as Prometheus drop-in replacement in Grafana. diff --git a/docs/CaseStudies.md b/docs/CaseStudies.md new file mode 100644 index 000000000..dbd5d555c --- /dev/null +++ b/docs/CaseStudies.md @@ -0,0 +1,43 @@ +## Case studies + +### Wix.com + +[Wix.com](https://en.wikipedia.org/wiki/Wix.com) is the leading web development platform. + +> We needed to redesign metric infrastructure from the ground up after the move to Kubernethes. A few approaches/designs have been tried before the one that works great has been chosen: Prometheus instance in every datacenter with 2 hours retention for local storage and remote write into [HA pair of single-node VictoriaMetrics instances](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/README.md#high-availability). + +Numbers: + +* The number of active time series per VictoriaMetrics instance is 20M. +* The total number of time series per VictoriaMetrics instance is 400M+. +* Ingestion rate per VictoriaMetrics instance is 800K data points per second. +* The average time series churn rate is ~3M per day. +* The average query rate is ~1K per minute (mostly alert queries). +* Query duration: median is ~70ms, 99th percentile is ~2sec. + +> Alternatives that we’ve played with before choosing VictoriaMetrics are: federated Prometheus, Cortex, IronDB and Thanos. +> Points that were critical to us when we were choosing a central tsdb, in order of importance: + +* At least 3 month worth of history. +* Raw data, no aggregation, no sampling. +* High query speed. +* Clean fail state for HA (multi-node clusters may return partial data resulting in false alerts). +* Enough head room/scaling capacity for future growth, up to 100M metrics. +* Ability to split DB replicas per workload. Alert queries go to one replica, user queries go to another (speed for users, effective cache). + +> Optimizing for those points and our specific workload VictoriaMetrics proved to be the best option. As an icing on a cake we’ve got an extended PromQL - `default 0` and `histogram` are my favorite ones, for example. What we specially like is having a lot of tsdb params easily available via config options, that makes tsdb easy to tune for specific use case. Also worth noting is a great community in [Slack channel](http://slack.victoriametrics.com/) and of course maintainer support. + +Alex Ulstein, Head of Monitoring, Wix.com + + +### Wedos.com + +> [Wedos](https://www.wedos.com/) is the Biggest Czech Hosting. We have our own private data center, that holds only our servers and technologies. The second data center, where the servers will be cooled in an oil bath, is being built. We started using [cluster VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/cluster/README.md) to store Prometheus metrics from all our infrastructure after receiving positive references from [seznam.cz](https://www.seznam.cz/). + +Numbers: + +* The number of acitve time series: 5M. +* Ingestion rate: 170K data points per second. +* Query duration: median is ~2ms, 99th percentile is ~50ms. + +> We like configuration simplicity and zero maintenance for VictoriaMetrics - once installed and forgot about it. It works without any issues. diff --git a/docs/Single-server-VictoriaMetrics.md b/docs/Single-server-VictoriaMetrics.md index 776ab4342..31291d4dc 100644 --- a/docs/Single-server-VictoriaMetrics.md +++ b/docs/Single-server-VictoriaMetrics.md @@ -1,13 +1,19 @@ -# Single-node +## VictoriaMetrics VictoriaMetrics is fast, cost-effective and scalable time-series database. It can be used as long-term remote storage for Prometheus. It is available in [binary releases](https://github.com/VictoriaMetrics/VictoriaMetrics/releases), [docker images](https://hub.docker.com/r/victoriametrics/victoria-metrics/) and -in [source code](https://github.com/VictoriaMetrics/VictoriaMetrics). +in [source code](https://github.com/VictoriaMetrics/VictoriaMetrics). Just download VictoriaMetrics and see [how to start it](#how-to-start-victoriametrics). Cluster version is available [here](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/cluster). +## Case studies + +* [Wix.com](https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/CaseStudies#wixcom) +* [Wedos.com](https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/CaseStudies#wedoscom) + + ## Prominent features * Supports [Prometheus querying API](https://prometheus.io/docs/prometheus/latest/querying/api/), so it can be used as Prometheus drop-in replacement in Grafana.