Profiling Database Performance
You can profile database performance to evaluate query performance. Profiling can deliver information such as the following:
- How much memory and how many threads each operator is allocated.
- How data flows through each operator at different points in time during query execution.
- Whether a query is network bound.
Profiling data can help provide valuable input into database design considerations, such as how best to segment and sort projections, or facilitate better distribution of data processing across the cluster.
For example, profiling can show data skew, where some nodes process more data than others. The rows produced
counter in system table EXECUTION_ENGINE_PROFILES
shows how many rows were processed by each operator. Comparing rows produced
across all nodes for a given operator can reveal whether a data skew problem exists.
The topics in this section focus on obtaining profile data via vsql statements. The Vertica Management Console also provides an easy-to-read view of profiling data.