Efficient Implementation

Prometheus needs to be able to collect detailed dimensional data from many systems and services at once. To this end, especially the following components have been highly optimized:

  • Scraping and parsing of incoming metrics
  • Writing to and reading from the time series database
  • Evaluating PromQL expressions based on TSDB data.

As a rule of thumb, a single large Prometheus server can ingest up to 1 million time series samples per second and uses 1-2 bytes for the storage of each sample on disk. It can handle several million concurrently active (present in one scrape iteration of all targets) time series at once.