Optimize simple deployment

Regardless of how high your performance targets, performance optimization is best started at low scale and volumes since it is easier to measure and evaluate under these conditions. The key objective here is to evaluate the performance of a single instance deployment against the system resource consumption, there is little point scaling an application until the performance of a single instance deployment suggests that it can meet your performance targets when fully scaled. For example if your application runs at 10% of your TPS target but is utilizing 25% of your available CPU then it is very unlikely it will scale successfully, if however you are utilizing 8% of total CPU then in theory, assuming linear scaling, you would expect to scale successfully. An example of a single instance deployment of the sample application is shown below:
Figure 1. Single instance deployment example
samp_scale_single.jpg
Optimization of the single instance deployment should focus on the following items:
  • Understand the work breakdown costs
  • Understand the unit of work boundaries
  • Optimize for aggregation
  • Review event logging behaviour