FFMPEG X11grab virtualization

I am new here. I am trying to use the NV machine on azure support M60 to do multiple video encodes of screen to virtualize recording our application.
I am using:
xec ffmpeg -y -f x11grab -r $RATE -s $RESOLUTION -thread_queue_size $QUEUE_SIZE -i :$DISPLAY.0+0,0 -vcodec nvenc output.mp4
It does look like there is a bottleneck with the x11grab. We cannot do more than 6 or 7 encodes at the same time. Please note the resolution we use is 1280x720, which should be easy for the M60.
What do you recommend we do to use the best of your machines?