Today, any business providing digital services must ensure the highest level of performance and availability for their end users. Despite investments in code quality and time spent on load testing and performance tuning, results are frequently insufficient and/or inefficient.
The world of performance optimization is evolving in response to software's increasing agility and technological complexity. Due to the ineffectiveness and scalability of traditional performance tuning approaches, significant optimization opportunities are lost. How can the performance of modern applications, which are built on top of numerous technology layers, be optimized to the maximum extent possible? How do you find the optimal configuration when the number of settings at each layer continues to grow exponentially, with counterintuitive interactions for each specific application — to the point where overall performance is significantly impacted even when vendor defaults or best practices are used?
We will discuss several real-world examples in this section of how the application of AI capabilities aided in the resolution of this optimization problem. This enables intelligent exploration of the configuration space in a manner that rapidly converges on the optimal configuration. Each optimization study consists of several experiments in which a particular configuration of multiple parameters is evaluated: in each experiment, a configuration is applied and the system's performance under load is scored to identify the next most promising configuration to be tested in the next experiment, and so on, until an optimal result is obtained.