We have 3 nodes clusters and most of the queries are in the queue. Can anyone suggest what is the reason for this? What i need to check and what are the steps to check.
Where did you see that queries are in queued state?They will be in queued state if queries are waiting for resources. you can confirm if they are really waiting for resources by querying v_monitor.resource_queues.
What is the next step if queries are present in the resource queue? and how we can check my hardware are capable to support the queries load?
If the queries are waiting for resources, I recommend you to check for which pool's resources are they waiting for and tune the resource pool parameters accordingly. If a particular resource pool is being used more, please allocate more memory and increase the max concurrency of that resource pool. The sections of below documentation link helps you to understand how to tune resource pools for various scenarios.
Queries are queued when the number of queries exceeds the MaxConcurrency set for the pool. If you want to reduce the number of queued requests, you'll need to increase the MaxConcurrency. MaxConcurrency can be a useful tool to inhibit too many queries from flooding your system, so adjust with caution.