Methodology

How should you go about planning the performance of your web system? To limit the scope of the problem, it helps to think of capacity planning for web services as an algorithm, with two kinds of input and one kind of output. The inputs are your constantly changing requirements and the constantly changing characteristics of the available components. The output is an architecture that meets those requirements. By considering the problem this way, you’ve reduced it to collecting information and using that information to decide on a suitable architecture.

Unfortunately, the algorithm that gets you from here to there is still more art than science, particularly because you undoubtedly have additional requirements beyond performance, such as cost, security, and freedom from platform lock-in, and because requirements and components are moving targets (almost always in the direction of more performance). There are probably many configurations that would satisfy your performance requirements alone, but you may find that it is not possible to satisfy them simultaneously with all your other requirements, especially if those requirements include a small budget or a certain throughput and latency from the Internet. Read the rest of this book for details on how the pieces behave and interact. Then expect to go through several iterations of modifying your requirements and evaluating potential architectures before you find an architecture that meets all of your requirements. It is, ...

Get Web Performance Tuning now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.