Part II. mod_perl Performance

This section explains the details of tuning mod_perl and the scripts running under it, so you can squeeze every ounce of power from your server. Performance tuning is a very complex task requiring a lot of understanding and experience, but once you acquire this knowledge you can make magic with your server.

This part of the book would have been much shorter if we had limited ourselves to telling only the facts, without any investigation details. We decided to do the opposite. We show you different areas that we think might be good to investigate in order to improve performance; we show the code under test, the way it was executed, and the results of the test, and we analyze these results and provide conclusions. Each case demonstrates some aspect of the performance-improvement process, so when you complete this part of the book, you will be able to conduct similar tests and decide what's the best on your own.

This section contains the following chapters:

Chapter 7 helps you track down exactly where your performance problems are.

Chapter 8 gives you some guidelines on how to determine that you're using the right hardware and operating system. There's no point spending your time tweaking the configuration of mod_perl if the problem actually lies in the platform you're running on.

Chapter 9 introduces you to existing tools to analyze your performance and talks about developing your own tools.

Chapter 10 explains how shared memory and forking affect the performance of mod_perl and what you can do about it.

Chapter 11 covers the httpd.conf file and how it can be modified to improve the performance of mod_perl-enabled Apache.

Chapter 12 discusses techniques for setting up your mod_perl-enabled Apache server in conjunction with other modules and other services.

Chapter 13 discusses the trade-offs involved in various coding techniques.

Chapter 14 is about how to keep memory usage from spiraling out of control.

Chapter 15 talks about decisions you make when building Apache and mod_perl from source that can affect performance.

Chapter 16 gives some guidance on how HTTP headers can be used to speed up web transactions.