Skip to main content

how to tune "input queue wait"

  • October 15, 2015
  • 3 replies
  • 18 views

emailed

hi,

   I have a 3-node vertica cluster, and when I launch a count query, it takes about 160ms to complete the query, but when I launch lots of the same query concurrently,  each query takes about 4s to complete !! so i dig out profile table and I found "input queue wait" of operator_name "Root" is outstanding large, about 3 seconds.

  According to my experience,  "Root" operator is  the root node of physical plan tree, and if "Root" operator waits so long time, and I think it 's because of the concurrency control of vertica node.  And, if I was correct, how I can tune vertica parameter?   I can not find any related parameters in hp vertica complete doc.

 

thanks.

 

 

3 replies

Forum|alt.badge.img+2
  • Participating Frequently
  • October 25, 2015

I don't think that the issue comes from Query Execution. Could you check the planning time when you do the concurrent queries. The information is available in the v_internal.dc_query_executions. Check one of the transactions that you run in paralell and get the info from the initiator node. A query that I normally use is :

 

SELECT dc_query_executions.node_name, dc_query_executions.transaction_id, dc_query_executions.statement_id, dc_query_executions.execution_step, ((dc_query_executions.completion_time - dc_query_executions."time")) AS duration FROM v_internal.dc_query_executions  WHERE
transaction_id = :t_id and statement_id = :s_id and node_name = :init_node
ORDER BY dc_query_executions."time";

 

Replace the with the right predicates.

 

Thanks

Eugenia

 

 

 


VerticaDba
  • New Participant
  • December 8, 2015

I also have similar situation....How did you resolve this or what was the root cause?


Forum|alt.badge.img+2
  • Participating Frequently
  • December 8, 2015

Where you able to get the query_execution_time with this query?

replace transaction_id, statement_id and initiator_node with the right predicated.

 

SELECT dc_query_executions.node_name, dc_query_executions.transaction_id, dc_query_executions.statement_id, dc_query_executions.execution_step, ((dc_query_executions.completion_time - dc_query_executions."time")) AS duration FROM v_internal.dc_query_executions  WHERE
transaction_id = :t_id and statement_id = :s_id and node_name = :init_node
ORDER BY dc_query_executions."time";

 

Thanks,

Eugenia