Debug query performance

Hi all,

Is there a guide somewhere to debugging query performance? Since upgrading to Druid 0.10 I’m seeing a degradation in query performance and wouldn’t be at all surprised if I need to tweak some configuration settings. However, I am unsure about where the problem is or how to profile my queries.

Any help would be greatly appreciated.

Thanks!

Hey Ben,

The thing to do is usually to look at the query metrics. query/segment/time (individual segment processing time) and query/time (http request time) usually provide the most clues. Comparing metrics from before and after the upgrade can show you if degradation is across the board, or if it’s only for specific datasources or query types or nodes or something. That usually helps narrow down what is going on.

As a wild guess, if your workload is mostly groupBys and you hadn’t specifically enabled groupBy v2 in Druid 0.9.x, you might need more merge buffers. That’s because in Druid 0.10.x, groupBy v2 is enabled by default, and each concurrent groupBy query needs a merge buffer. The default is 1/4 the number of processing buffers, but you can raise it by adjusting druid.processing.numMergeBuffers.