Continuation of the performance work started in #75 and continued on #76.
This time, making the application fully compatible with async. This doesn't lead to better performance, but it does lead to better consistency. While before we were seeing the maximum CPU utilization jumping up and down, it now stays mostly flat, in parallel with average CPU utilization. This improves predictability our ability to detect problems and situations of under/over-provisioning.
Continuation of the performance work started in #75 and continued on #76.
This time, making the application fully compatible with async. This doesn't lead to better performance, but it does lead to better consistency. While before we were seeing the maximum CPU utilization jumping up and down, it now stays mostly flat, in parallel with average CPU utilization. This improves predictability our ability to detect problems and situations of under/over-provisioning.