DZone.com has posted the second part of a two-part series looking at increasing the performance of your PHP applications (part one is here). In this new post, he looks at a few topics including caching, session handling and asynchronous processing with Resque and Redis.
Ultimately, scalability is about the entire architecture, not some minor code optimizations. Often times people get this wrong and naively think they should focus on the edge cases. Solid architectural decisions like doing blocking work in the background via tasks, proactively caching expensive calls, and using a reverse proxy cache will get you much further than arguing about single quotes or double quotes.
He briefly recaps some of the "core principles" for optimizing applications and gets right into explaining the later ones on the list:
- Optimize sessions through memcached handling
- HTTP request/response caching
- Caching Doctrine result sets
- Caching the web service responses made with Guzzle
- Handling asynchronous processing with Resque and Redis
He includes code and configuration examples for each item, helping to flesh them out a bit more. He also makes a recommendation of using something like AppDynamics to monitor the performance of your application (disclaimer: he works for them).