Performance
Sizing and capacity planning
Sizing and capacity planning involves figuring out how many nodes are needed and what kind of hardware best fits the use case:
- Sizing Vespa search: How to size a Vespa search cluster
- Caching in Vespa: How to enable caches in Vespa
- Attributes and memory usage: How attributes impact the memory footprint, find attribute memory usage
- Proton maintenance jobs: Impact on resource usage
- Coverage degradation: Timeout handling and Degraded Coverage
Benchmarking and tuning
Benchmarking is important both during sizing and for testing new features. What tools to use for benchmarking and how to tune system aspects of Vespa:
- Benchmarking Vespa: Test Vespa performance
- Vespa search features and performance
- Container Http performance testing using Gatling
- Container tuning: JVM, container, docproc
- vespa-fbench: Reference documentation
Profiling
Do a deep performance analysis - how to profile the application as well as Vespa:
- Profiling: Generic profiling tips. Set up OProfile, do a simple analysis
- Valgrind: Run Vespa with Valgrind
- Container profiling: Profile a container application