This chapter gets into the meat of optimization, once you identify and locate performance problems. It covers a selection of the most common performance issues across a variety of areas and explains simple solutions to some of the mistakes people often make. When using these techniques, you'll look like a wizard to your clients and colleagues by quickly speeding up their software.
Topics covered in this chapter include the following:
Network latency
Select N+1 problems
Disk I/O issues on virtual machines
Asynchronous operations in a web application
Performing too many operations in one web request
Static site generators
Pragmatic solutions with hardware
Shrinking overly-large images
Most of the problems in this chapter center on what happens when you add latency to common operations or when throughput is reduced from what it was in development. Things that worked fine in test when everything was on one physical machine with minimal data are now no longer...