Best Practices for Optimizing Kibana Dashboards for Faster Load Times

hi @Bryan_Hamilton

thanks. Indeed, in general, you would aim to include as many filters (or controls with a preset-selection) as you can, so that the queries visit the minimum amount of documents in Elasticsearch.

  1. they are merged together in a big "and" clause. So there is no precedence perse. Rather, they are evaluated in the order that Elasticsearch seems most fit.
  2. no, filters do not independently hit the data-stream. they are handled together
  3. Yes, there are multiple caching layers inside Kibana that attempt to avoid running the same queries redundantly. However, as a dashboard-author, you likely will not be able to leverage these directly. They are primarily helping to optimize the editing experience (e.g. while editing a chart, changing settings, ... you do not want long running queries lock up the experience).
  4. no, there are no performance gains because all filters are run together anyway, whether they are stored in the saved-search or in the visualization. The only thing you would use saved-searches for is to improve the overall design (e.g. if you do not want to repeat a filter over and over again in each visualization).

Another tip I would give is to ensure the default time-range is as small as possible. Long time-ranges are often a way that long-running searches sneak in.

1 Like