What does 'input queue wait' really mean?

Trying to work out why queries are slow and I see for the same query run twice, one ran for 20 ms and the other for 1800 ms:
   select statement_id,operator_name,operator_id,counter_value,counter_name from v_monitor.execution_engine_profiles where transaction_id=49539595942919366 and statement_id IN (32,33) and counter_name ilike('%(us)%');   statement_id | operator_name | operator_id | counter_value |      counter_name  --------------+---------------+-------------+---------------+------------------------             32 | Root          |           0 |            16 | execution time (us)             32 | Root          |           0 |            19 | clock time (us)             32 | Root          |           0 |          5405 | input queue wait (us)             32 | NewEENode     |           1 |            36 | execution time (us)             32 | NewEENode     |           1 |            38 | clock time (us)             32 | NewEENode     |           1 |             0 | output queue wait (us)             32 | GroupByPipe   |           2 |            10 | execution time (us)             32 | GroupByPipe   |           2 |            14 | clock time (us)             32 | StorageUnion  |           3 |           128 | execution time (us)             32 | StorageUnion  |           3 |          1395 | clock time (us)             32 | GroupByPipe   |           4 |            37 | execution time (us)             32 | GroupByPipe   |           4 |            65 | clock time (us)             32 | ExprEval      |           5 |           137 | execution time (us)             32 | ExprEval      |           5 |           171 | clock time (us)             32 | Scan          |           6 |           815 | execution time (us)             32 | Scan          |           6 |           909 | clock time (us)             33 | Root          |           0 |            12 | execution time (us)             33 | Root          |           0 |            14 | clock time (us)             33 | Root          |           0 |       1794434 | input queue wait (us)             33 | NewEENode     |           1 |            87 | execution time (us)             33 | NewEENode     |           1 |          3295 | clock time (us)             33 | NewEENode     |           1 |             0 | output queue wait (us)             33 | GroupByPipe   |           2 |            17 | execution time (us)             33 | GroupByPipe   |           2 |           173 | clock time (us)             33 | StorageUnion  |           3 |           151 | execution time (us)             33 | StorageUnion  |           3 |          8938 | clock time (us)             33 | GroupByPipe   |           4 |            61 | execution time (us)             33 | GroupByPipe   |           4 |           173 | clock time (us)             33 | ExprEval      |           5 |           265 | execution time (us)             33 | ExprEval      |           5 |           905 | clock time (us)             33 | Scan          |           6 |           994 | execution time (us)             33 | Scan          |           6 |          3477 | clock time (us)  (32 rows)  
The outstanding difference is the input queue wait value, but what does that value really mean and how do I make it more consistent?

Comments

  • According to the docs page https://my.vertica.com/docs/6.1.x/HTML/index.htm#12260.htm
    input queue wait (µs) is Time in microseconds that an operator spends waiting for upstream operators.
    Operators are Scan, join etc..

    In your case, I can see that it is the Root operator. But as of now I'm not sure on what exactly the Root operator is, will update you when I get some idea.

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file