Unit 02 of 02
Performance and Operations
The code cache, profiling, memory and connection management, the process manager and the web server, ini directives and the deployment workflow — each as a mechanism that decides whether a behavior stays the same between the development and production profiles.
Published Updated
Lessons
- 01 Code Caching How PHP keeping bytecode in a cache hides file changes in production: when the new version at the same path arrives, and what invalidation solves. 1 min read
- 02 Profiling Measuring in two profiles how many times a job calls each function and how much memory it holds: the counts stay the same, but the counting code can change with the profile. 1 min read
- 03 Memory and Connection Management Measuring how a request stops when the memory limit is exceeded, when a connection object's destructor runs, and how a circular reference delays cleanup. 1 min read
- 04 The Process Manager and the Web Server Measuring with the built-in web server who serves the requests and what worker processes do not share between requests: why state must be kept outside the process. 2 min read
- 05 Configuration Tuning Measuring the seven directives on which PHP's development and production configuration files diverge: what hardening turns off, and whether it can be turned back on from code with ini_set(). 1 min read
- 06 The Deployment Workflow Release directories and the symbolic link switch when taking code to production: why the old version runs after an atomic switch, and which call brings the new version. 1 min read