See this blog post on a discussion about Loki's scalability.
When scaling Loki, operators should consider running several Loki processes
partitioned by role (ingester, distributor, querier) rather than a single Loki
process. Grafana Labs' production setup
contains .libsonnet
files that demonstrates configuring separate components
and scaling for resource usage.