What is it?
Why do we need it?
Often, performance heavy or resource intensive features take a toll on the Web Application.
How would it work?
There needs to be a mechanism to intelligently turn off features or functionalities depending on their ‘PSR (Performance / Scalability / Reliability) cost’.
Step 1 – Measure
It is essential to weigh each feature set within the Application against their PSR Impact. Loosely this can be done by measuring the resource utilization impact of the specific feature – namely CPU, Memory, Disk and Network I/O’s.
Step 2 – Categorize
Split features into three ‘Categories’ or ‘Buckets’ based on their Performance Weight. Let us for example take ‘Low’, ‘Medium’ and ‘High’ impact categories.
Step 3 – Monitor and Switch
Continuously monitor Traffic Usage in Production Environment. Once traffic reaches a known or tested limit (let us say 85% of Peak Capacity) disable ‘High’ and ‘Medium’ performance impact features whereby the Web Application now runs in a light mode consequently only allowing access to core features; thereby preventing downtime and also perhaps enabling reaction time for support teams (for example add additional server capacity to handle the excess load)
By: Manoj Mohanan
Also published on Medium.