"Runtime Settings": What is displayed here is the configuration information of the running apc. We can adjust the apc parameters according to our needs. The parameter settings are carried out in php.ini.
There are many apc parameters. Here are some commonly used parameters:
1 apc.cache_by_default and apc.filters: apc.cache_by_default, whether to turn on the system cache, usually followed by apc. Filters are used in combination to control PHP files that need to be cached and those that do not. The value of the apc.filters parameter is a comma-separated list of POSIX extension regular expressions. If the first character of the regular expression is +, the matching files will be cached. If it is -, then the matching files will be cached. None of the files will be cached.
demo1: Turn off the system cache, only cache files starting with a and b, other files will not be cached
apc.cache_by_default = 0 apc.filters=+a.*.php,+b.*.php
demo2: Turn on the system cache, do not cache files starting with a and b, other files will be cached
apc.cache_by_default = 1 apc.filters = -a.*.php,-b.*.php
2 apc.shm_size and apc.shm_segments: apc.shm_size, the size of each shared memory block in MB. The system cache and user cache are shared, and you can change the size of the APC's shared memory block by adjusting this value. If the value of apc.shm_size has been set to the maximum value that the system can achieve and it is still not enough, we need to use apc.shm_segments. The meaning of this option is the number of shared memory blocks to be allocated by the compiler cache. We can pass Adjust this value to change the number of shared memory blocks (but during testing, this option did not take effect).
3 apc.stat: Used to detect whether the script has been updated. It is enabled by default. Every time a script is requested, it is detected whether the script has been updated. This has an adverse impact on performance. If the script files in the production environment are not frequently updated, we You can turn it off, which will greatly improve performance. The disadvantage is that when the script is updated, you need to restart the web server (if it is nginx, restart php-fpm) to make it take effect.
4 apc.ttl and apc.user_ttl: The number of seconds the cache entry is allowed to stay in the buffer. The difference is that apc.ttl is for the system cache, and apc.user_ttl is for the user cache. During testing, these two options did not perform well. For example, if the value is set to 10, it stands to reason that if the cache entries are not accessed in 10 seconds, these cache entries will be cleared, but after 10 seconds, these entries still exist, and there is no Cleared.
5 apc.num_files_hint and apc.user_entries_hint: A rough estimate of the number of different source files that are included or requested on the Web server, apc.num_files_hint is for the system cache, and apc.user_entries_hint is for the user cache. Like the cache time, the cache quantity seems to have no effect. For example, if the quantity is set to 3, files exceeding 3 will still be cached. I don’t know why.
I won’t introduce too much about the other parameters. Regarding the cache time and cache quantity, maybe the opening method is wrong and the expected effect cannot be obtained. If anyone has an in-depth understanding and research on these parameters, I hope Don’t hesitate to teach me.
Summary:
1 The official manual of apc clearly states that apc has two main configuration options, one is how much memory to allocate to apc (option apc.shm_size), and the other is whether to check file modifications each time apc is requested (option apc.stat), it can be seen that these two options are crucial to apc. If you have time, you can focus on studying these two items.
2 apc.cache_by_defaultOpening and closing will only affect the system cache and has no impact on the user cache.
3 The shared memory block of apc is shared by the system cache and user cache.
4 apc 3.1.15-dev version, php 5.5.10, operating system centos6.5, setting apc.shm_segments did not take effect.
5 When the apc cache is full, the system cache and user cache behave differently. If the system cache file reaches the cache limit when requested, apc will clear all other system cache files except for the request. If it is a user cache variable When the cache limit is reached during the request, all other user cache variables except the request variable will be cleared, which means that the system cache and the user cache will not affect each other.
The above has introduced a brief analysis of PHP's apc extension (2), including aspects of the content. I hope it will be helpful to friends who are interested in PHP tutorials.