PHP is a widely used open source scripting language. With the rapid development of network technology, PHP has become the first choice for enterprise-level website development. The performance of PHP is of great concern to developers. How to optimize the performance of PHP? This article will introduce how to set up PHP from multiple perspectives such as PHP configuration and code writing to achieve fast loading speed.
Performing some optimized configurations in php.ini is a direct way to improve PHP performance. The following are the PHP configuration suggestions I summarized:
i) Memory limit
PHP requires certain memory resources to run, so it is very necessary to set a larger memory limit in php.ini . By default, PHP's memory limit is 8MB, which is very insufficient in a production environment. Therefore, it is recommended to set the memory limit above 128MB.
memory_limit=128M
ii) Maximum execution time
When the script time executed by PHP exceeds the maximum execution time, a 408 request timeout will occur. The default maximum execution time is 30 seconds, but in practice it may sometimes be necessary to execute very time-consuming scripts. Therefore, it needs to be modified according to the specific situation.
max_execution_time=180
iii) Recycling mechanism settings
PHP uses the garbage collection mechanism to recycle unused memory. In PHP5, to solve the problem of circular references, add A new garbage collection mechanism-automatic triggering mechanism is introduced. There is an interesting article about gc optimization in wezzy's blog that gives a useful configuration suggestion: the smaller the quotient of gc_probability and gc_divisor, the easier it is to trigger gc, that is, garbage collection. Setting their quotient to 200 or less can speed up gc.
gc_probability=1
gc_divisor=1000
i) Avoid global variables
Global variables Can be defined anywhere and used anywhere in the code. This is convenient, but since the variable is stored in memory, it is much slower than local variables. It is recommended that you avoid using global variables and use local variables instead.
ii) Enable caching
Enable caching to reduce repeated queries and processing time, which can greatly reduce the load on the database and server. Especially for frequently visited pages, enabling caching can make them load faster.
iii) Using the connection pool
The connection pool can reduce the overhead of connecting to the database for each request, greatly improving the program running efficiency. Although the connection pool will occupy some memory, the memory footprint of the connection pool is much smaller than re-establishing the connection every time.
i) Modify FastCGI
FastCGI is a faster cgi program. If the web server you use supports FastCGI, Then you should use FastCGI to run PHP. Because FastCGI can maintain the stability of the PHP process and avoid the overhead of starting the PHP process on every request.
ii) Use caching technology
Caching is an important technology for optimizing web applications. By using caching technology, more requests can be processed in the same processing time, greatly improving the response speed of the website. PHP provides various caching technologies, such as OPcache, APC, eAccelerator, etc.
iii) Use CDN
CDN (Content delivery network) is a content distribution network. By caching data on cache servers in different places around the world, users can download data from the cache server closest to them. Upload and download data, thereby reducing the time of reading and writing disk. For globalized websites, using CDN can greatly improve access speeds.
Summary
This article introduces how to set up PHP from multiple perspectives such as PHP configuration and code writing to achieve fast loading speed. If you are a developer, then I believe these tips will be of great help to your work. We can make the systems and websites we develop faster and more powerful through settings and optimizations in these aspects. Therefore, we should not regard the road to PHP performance optimization as a debugging and adjustment. It is a high-intensity continuous optimization process that requires continuous adjustment and improvement.
The above is the detailed content of How to set up PHP to achieve fast loading speed. For more information, please follow other related articles on the PHP Chinese website!