How to use machine learning to optimise an application
In a previous post I covered the basic steps when optimising a legacy web application. Once you have tackled the low hanging fruit, namely making all i/o operations asynchronous, the questions becomes how to optimise performance further. At this point many people will have a hunch as to where the bottlenecks are in the system, but are those hunches correct? If we guess incorrectly we can spend a lot of time optimising code paths that have no impact on the overall performance. Web applications with asynchronous requests can be subject to quite complex performance dynamics, and so it isn’t always obvious where the true bottlenecks are.
What matters when optimizing a web application
Picture the scenario - you’ve inherited a web application and been asked to make it scale to serve a larger number of concurrent users. You don’t have the option of re-writing it in your favourite whizz-bang language or framework, so how should you go about improving performance?