How do you decide the memory and concurrency values for different WLM queues?

First, you identify different workload types for your cluster. For example, if you are loading data into your Redshift cluster or performing any ETL operations, then it would qualify as one queue. If you have analytical users or BI tools connecting to your database, then it would qualify as another queue.

Then, you use the Redshift admin utility to determine the number of queries that are running in one queue and analyse whether there is any waiting time in a queue. Based on this information, you can tune the WLM parameters.

The alternate option is to use automated WLM in which Redshift will automatically determine the memory and concurrency for each queue.