This ability is valuable when the database server is the bottleneck. But if the database server is servicing the transaction loads adequately and the application or network becomes the bottleneck, then running database work over more processors does very little to improve performance. The database server alone is helpless under these circumstances. The three-tier model introduces a router function. This design scales by adding more routers as the number of clients grows.
Routers typically create and manage pools of application-server processes.
Each application can have a separate server pool. If a server fails, the router redirects the request to another member of the pool. This architecture provides load-balancing and transparent server failure handling semantics for clients. The three-tier model multiplexes the several clients down to a few server processes. This solves the polynomial explosion problem, but the percentage problem remains an issue.