System Architecture and Reliability
In a system, each user request is processed in order by a web server tier, an application server tier and a database server tier. Each request passes through each of the three tiers once, and the maximum number of requests each tier can process is 1,200 per second for the web server tier, 1,000 per second for the application server tier and 900 per second for the database server tier. If the database server tier is upgraded to process 1,500 per second, which is the maximum number of requests the whole system can process?
- A1,000 per second
- B1,200 per second
- C1,500 per second
Show answer and explanation
Answer: A. 1,000 per second
In a system where requests pass through all tiers in order, the number the whole system can process is set by the tier with the lowest capacity (the bottleneck). Before the upgrade, it was set by the database server tier at 900 per second. With the database server tier at 1,500 per second, min(1,200, 1,000, 1,500) = 1,000, so the application server tier becomes the next bottleneck and the whole system stays at 1,000 per second. Removing one bottleneck lets the next-smallest capacity limit the whole system, so performance improvement must look at the entire flow.
- A. Correct. The application server tier's 1,000 per second becomes the new bottleneck.
- B. This overlooks the application server tier's capacity and takes the web server tier's capacity as the overall value.
- C. This is the capacity of the upgraded database server tier. The system cannot process more than the other tiers allow.
Continue: 9 more System Architecture and Reliability questions