Pro PHP Application Performance [electronic resource] : Tuning PHP Web Projects for Maximum Performance /
Padilla, Armando.author.
Hawkins, DUPTim.author.
Pro PHP Application Performance will help you understand all the technologies and components which play a role in how well your applications run. When seconds can mean the difference between retaining a user and losing a user, it's important for all of us to have optimization as part of our project roadmap. But what components within your application should you analyze? How should you optimize? And how can you measure how well your application is performing? These are some of the questions that are answered in this book. Along the way you will also learn the "why" of optimizing. You'll discover why you should optimize a specific component, why selecting one function over another is beneficial, and how to find and use the optimization tools available to the open source community. You'll also learn how to deploy caching software as well as web server software. Pro PHP Application Performance will also teach you more advanced techniques, such as: • Using Xdebug to profile functions that are not running as efficiently as possible. • Comparing opcode executed by different PHP functions to narrow the search for functions that run efficiently. • Using strace to analyze Apache while your application is served to the user. Once you complete this book you will have a complete sense of where to start optimizing and, most importantly, have the tools which allow you to continue optimizing in other PHP applications going forward.
""Title Page""; ""Copyright Page""; ""Contents at a Glance""; ""Table of Contents""; ""About the Authors""; ""About the Technical Reviewer""; ""Acknowledgments""; ""Introduction""; ""Overview""; ""Chapter 1 â€? Benchmarking Techniques""; ""Chapter 2 â€? Improving Client Download and Rendering Performance""; ""Chapter 3 â€? PHP Code Optimization""; ""Chapter 4 â€? Opcode Caching""; ""Chapter 5 â€? Variable Caching""; ""Chapter 6 - Choosing the Right Web Server.""; ""Chapter 7 - Apache Web Server Optimization""; ""Chapter 8 - Database Optimization.""; ""CHAPTER 1 Benchmarking Techniques""
""The PHP Application Stack""""Benchmarking Utilities""; ""Defining the Request/Response Lifecycle""; ""Apache Benchmark""; ""Installing Apache Benchmark""; ""Unix and Mac Installation""; ""Windows Installation""; ""Running Apache Benchmark""; ""Making Sense of the Response""; ""Server Information""; ""Script Information""; ""Connection Information""; ""Connection Metrics Breakdown""; ""AB Option Flags""; ""Concurrency Tests""; ""Timed Tests""; ""AB Gotchas""; ""Siege""; ""Installing Siege""; ""Running Siege""; ""Examining the Results""; ""Individual Request Details""; ""Test Metrics""
""Siege Option Flags""""Testing Many URLs""; ""URL Format and File""; ""Affecting Your Benchmark Figures""; ""Geographical Location""; ""The Traveling Packets""; ""Response Size""; ""Code Complexity""; ""Browser Behavior""; ""Web Server Setup""; ""Summary""; ""CHAPTER 2 Improving Client Download and Rendering Performance""; ""The Importance of Optimizing Responses""; ""Firebug""; ""Installing Firebug""; ""Firebug Performance Tabs""; ""The Console Tab""; ""Running JavaScript Profiler on a Web Page""; ""The Net Tab""; ""YSlow""; ""YSlow v2 Rulesets""; ""CSS Optimization Rules""
""Image Optimization Rules""""JavaScript Optimization""; ""Server Optimization""; ""Installing YSlow""; ""Starting YSlow""; ""The Grade Tab""; ""Statistics Tab""; ""Tools Tab""; ""Page Speed""; ""Installing Page Speed""; ""Page Speed at Work""; ""Optimization Tools""; ""JavaScript Optimization""; ""JavaScript Placement""; ""Minification of JavaScript""; ""Minification Tools""; ""YUI Compressor""; ""Closure Compiler""; ""Reduce Resource Requests""; ""Use Server-Side Compression""; ""Image Compression""; ""Smush.it""; ""Summary""; ""CHAPTER 3 PHP Code Optimization""; ""PHP Best Practices""
""The PHP Economy""""require vs. require_once""; ""Calculating Loop Length in Advance""; ""Accessing Array Elements Using foreach vs. for vs. while""; ""File Access""; ""Faster Access to Object Properties""; ""Looking Under the Hood Using VLD, strace, and Xdebug""; ""Reviewing Opcode Functions with VLD""; ""Installing VLD""; ""Using strace for C-level Tracing""; ""Installing strace""; ""Identifying Bottlenecks""; ""Xdebug 2: PHP Debugging Tool""; ""Installing Xdebug""; ""Updating the PHP.ini File""; ""Validating Installation""; ""Running Our First Profiler""; ""Installing the GUI-Based Tool""
""Installing WinCacheGrind""
Includes index.
Pro PHP Application Performance will help you understand all the technologies and components which play a role in how well your applications run. When seconds can mean the difference between retaining a user and losing a user, it's important for all of us to have optimization as part of our project roadmap. But what components within your application should you analyze? How should you optimize? And how can you measure how well your application is performing? These are some of the questions that are answered in this book. Along the way you will also learn the "why" of optimizing. You'll discover why you should optimize a specific component, why selecting one function over another is beneficial, and how to find and use the optimization tools available to the open source community. You'll also learn how to deploy caching software as well as web server software. Pro PHP Application Performance will also teach you more advanced techniques, such as: • Using Xdebug to profile functions that are not running as efficiently as possible. • Comparing opcode executed by different PHP functions to narrow the search for functions that run efficiently. • Using strace to analyze Apache while your application is served to the user. Once you complete this book you will have a complete sense of where to start optimizing and, most importantly, have the tools which allow you to continue optimizing in other PHP applications going forward.
Computer programming.
Software engineering.
Web Development.
Software Engineering/Programming and Operating Systems.