Tune for search speed
Instead or at the same time as you might want to tune for High load, you might want to tune for fast searches.
Spider being designed for both, with CQRS pattern, there is no contradiction in targeting both at once :-)
To tune for searches, you may:
- Optimize indices and Elasticsearch for searches
- Most is already done
- Add read replicas
- Use progressive loading
Optimize indices and Elasticsearch for searches
operations
indices are time based.
As soon as the write index reaches the rollover delay, the index is:
- merged into 1 shard
- merged into 1 segment
- change as read only
All this makes it already optimized for searches.
You may tune the rollover
setting to have big enough indices, while not too big. A few GBs.
Add read replicas
Indices replicas may improve searches throughput as a queries on the same data can be run in many hosts.
If you have many users doing analysis, you might try increasing replica settings:
operations:
replicas: 2
UI tips for smoother UX
Use progressive loading
Spider UI offers the feature of progressive loading of big aggregations: timeline and map.
Activate it to avoid timeouts when requesting big datasets.
Hide map
When loading big datasets, the map may be overloading the user browser.
Best is to hide it.