With the rise of all-flash arrays (AFA) being used for VDI deployments it makes sense to increase the number of concurrent cloning operations when deploying desktops into a pool. This is because AFAs can deliver the IOPs required to support more workloads.
The default value is 5 but for AFA this number can usually be safely increased. I've heard of reports of 20 and even 50 but again, your mileage may vary as all environments are different. Start low and increment slowly.
The value you want to change is max_concurrent_jobs in the edb database in a table called t_task_type.
Here's how to change the value.
Logon to the tenant appliance that hosts the writable edb database1
psql -U admin edb
View the current setting
SELECT name,max_concurrent_jobs,max_executing_time,description FROM t_task_type WHERE name='cloneVM';
This will return the following (expanded display on):
-[ RECORD 1 ]-------+------------------------ name | cloneVM max_concurrent_jobs | 5 max_executing_time | 12000000 description | clone a virtual machine
Now update max_concurrent_jobs with the new value
UPDATE t_task_type SET max_concurrent_jobs=<new value> WHERE name='cloneVM';
Be sure to change <new value> with your chosen value!
Changes are updated immediately so type \q to close the PSQL editor and return to the command line.
Do some testing after making the change to ensure you don't clobber your environment! Things you want to look out for when increasing this value are:
- Storage latency is within tolerable levels
- ESXi host CPU is within tolerable levels
- VMware vSphere Storage APIs Array Integration (VAAI) is enabled This ensures that clone operations are offloaded to the array and do not traverse the VMkernel Data Mover. See https://kb.vmware.com/kb/1021976.