Load quality problems generally fall into the following four aspects:
1 Database
2 Server CPU
3 Hard disk I/O
4 Network bandwidth
In addition to these four ghosts. 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". Compiled cache can not only improve performance but also increase server performance as the capacity and code complexity of PHP programs increase. What is compilation cache? I'll tell you later. Let’s first talk about the two steps that PHP needs to do to compile a script file:
1. The PHP engine reads the script file, interprets the script and generates executable intermediate code in the ZEND engine
.2. We must pay attention to the second time ZEND starts executing the intermediate code
. 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.
At this point everyone will understand. 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 picture to compare.
First, look at the situation if the compilation cache is not used,
and then look at the situation when the compilation cache is used
. 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 one is my favorite because it doesn’t cost any money. The effect is quite good. Let’s talk about APC.
The installation probably looks like this. Install via pear
#pear install apc
Modify php.ini and add extensions
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. It feels better than a woman fucking a woman.
If it is a window, look for this extension http://pecl4win.php.net/list.php.
After the APC is installed, we still need to adjust various parameters of the APC. Of course, this should be adjusted according to your own project environment.
APC has several parameters. Go to Baidu yourself.
It's over.
It's not over yet. Please follow my blog www.laoniphp.com