Home  >  Article  >  Backend Development  >  Adjusting the performance of PHP_PHP tutorial

Adjusting the performance of PHP_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:25:44848browse

Load bottlenecks are generally mainly in the following four aspects:
1 Database
2 Server CPU
3 Hard disk I/O
4 Network bandwidth
In addition to these four. Is there anything else worth optimizing? php is really powerful. Today I will talk about adjusting the performance of PHP at the script level of PHP.
If you want to improve the performance of PHP on a single server. We can use "compile cache". Compiling the cache not only improves performance, but also increases server performance as the capacity and code complexity of the PHP program increases. What is compilation cache? I'll tell you later. Let’s first talk about the two steps required to compile a script file in PHP:
1 The PHP engine reads the script file, interprets the script and generates executable intermediate code in the ZEND engine
2 ZEND starts executing the intermediate code for the second time
We need to pay attention. The first step is something that is repeated every time the PHP script file is requested. Moreover, this process will recursively repeat the first step because the script includes include()require() eval(). One can imagine how much consumption is involved. Especially when the PHP file is large. So why is it recommended to disapprove of too many lines when writing PHP files.
Everyone will understand now. In fact, we can do something about the first step. If we cache the interpreted code into shared memory in the first step of the interpretation file. If there is a second request for this script, you can skip the first step and go directly to the second step. Because the first step is already cached in the memory.
Let’s look at the pictures to compare
First, let’s look at the situation if the compiled cache is not used
Then let’s look at the situation of using the compiled cache
Once you have a look, you will understand. Right. With the compile cache, a lot of detours are avoided. This is especially effective when there are a lot of include and require in your code.
Now introduce three compilation caches:
1 The ionCube Accelerator is not open source.
2 TheZendAccelerator wants money. I'm poor
3 APC This is my favorite because it doesn't cost money. The effect is pretty good
Let’s just talk about APC
installation, which is probably like this. Install through pear
#pear install apc
Modify php.ini and add extension
extension = /path/to/apc.so
OK, it’s that simple. But when you run PHP again. This APC is already effective. The compiled code is cached in the shared memory. That's cool.
If it is a window, look for this extension.
After APC is installed, we still need to adjust various parameters of APC. Of course, this should be adjusted according to your own project environment.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/824953.htmlTechArticleLoad bottlenecks are generally mainly in the following four aspects: 1 Database 2 Server CPU 3 Hard disk I/O 4 In addition to network bandwidth These four. Is there anything else worth optimizing? php is really powerful. Today...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn