Please whitelist cPanel in your adblocker so that you’re able to see our version release promotions, thanks!

The Community Forums

Interact with an entire community of cPanel & WHM users!

Need a little advice on OpCache config

Discussion in 'Workarounds and Optimization' started by Metro2, Apr 2, 2019.

Tags:
  1. Metro2

    Metro2 Well-Known Member

    Joined:
    May 24, 2006
    Messages:
    446
    Likes Received:
    38
    Trophy Points:
    178
    Location:
    USA
    cPanel Access Level:
    Root Administrator
    I admit I stay a tad behind the curve, and this morning I've finally added OpCache to my EA PHP 7.0, 7.1, 7.2, 7.3 (in a CloudLinux 6 environment with Apache 2.4.38, PHP 7.2 native with PHP-FPM, http2, mySQL 5.75, mpm_event) and I'm hoping that someone might give advice on OpCache config settings.

    Since my main / native version of PHP is set to ea-7.2 I'm looking at:

    Code:
    /opt/cpanel/ea-php72/root/etc/php.d/10-opcache.ini
    I'm hoping for suggestions on how I should adjust the settings in it. Right now it looks like this:

    Code:
    ; Enable Zend OPcache extension module
    zend_extension=opcache.so
    
    ; Determines if Zend OPCache is enabled
    opcache.enable=1
    
    ; Determines if Zend OPCache is enabled for the CLI version of PHP
    ;opcache.enable_cli=0
    
    ; The OPcache shared memory storage size.
    opcache.memory_consumption=128
    
    ; The amount of memory for interned strings in Mbytes.
    opcache.interned_strings_buffer=8
    
    ; The maximum number of keys (scripts) in the OPcache hash table.
    ; Only numbers between 200 and 100000 are allowed.
    opcache.max_accelerated_files=4000
    
    ; The maximum percentage of "wasted" memory until a restart is scheduled.
    ;opcache.max_wasted_percentage=5
    
    ; When this directive is enabled, the OPcache appends the current working
    ; directory to the script key, thus eliminating possible collisions between
    ; files with the same name (basename). Disabling the directive improves
    ; performance, but may break existing applications.
    ;opcache.use_cwd=1
    
    ; When disabled, you must reset the OPcache manually or restart the
    ; webserver for changes to the filesystem to take effect.
    ;opcache.validate_timestamps=1
    
    ; How often (in seconds) to check file timestamps for changes to the shared
    ; memory storage allocation. ("1" means validate once per second, but only
    ; once per request. "0" means always validate)
    ;opcache.revalidate_freq=2
    
    ; Enables or disables file search in include_path optimization
    ;opcache.revalidate_path=0
    
    ; If disabled, all PHPDoc comments are dropped from the code to reduce the
    ; size of the optimized code.
    ;opcache.save_comments=1
    
    ; If enabled, a fast shutdown sequence is used for the accelerated code
    ;opcache.fast_shutdown=0
    
    ; Allow file existence override (file_exists, etc.) performance feature.
    ;opcache.enable_file_override=0
    
    ; A bitmask, where each bit enables or disables the appropriate OPcache
    ; passes
    ;opcache.optimization_level=0xffffffff
    
    ;opcache.inherited_hack=1
    ;opcache.dups_fix=0
    
    ; The location of the OPcache blacklist file (wildcards allowed).
    ; Each OPcache blacklist file is a text file that holds the names of files
    ; that should not be accelerated.
    opcache.blacklist_filename=/opt/cpanel/ea-php71/root/etc/php.d/opcache*.blacklist
    
    ; Allows exclusion of large files from being cached. By default all files
    ; are cached.
    ;opcache.max_file_size=0
    
    ; Check the cache checksum each N requests.
    ; The default value of "0" means that the checks are disabled.
    ;opcache.consistency_checks=0
    
    ; How long to wait (in seconds) for a scheduled restart to begin if the cache
    ; is not being accessed.
    ;opcache.force_restart_timeout=180
    
    ; OPcache error_log file name. Empty string assumes "stderr".
    ;opcache.error_log=
    
    ; All OPcache errors go to the Web server log.
    ; By default, only fatal errors (level 0) or errors (level 1) are logged.
    ; You can also enable warnings (level 2), info messages (level 3) or
    ; debug messages (level 4).
    ;opcache.log_verbosity_level=1
    
    ; Preferred Shared Memory back-end. Leave empty and let the system decide.
    ;opcache.preferred_memory_model=
    
    ; Protect the shared memory from unexpected writing during script execution.
    ; Useful for internal debugging only.
    ;opcache.protect_memory=0
    
    ; Allows calling OPcache API functions only from PHP scripts which path is
    ; started from specified string. The default "" means no restriction
    ;opcache.restrict_api=
    
    ; Enables and sets the second level cache directory.
    ; It should improve performance when SHM memory is full, at server restart or
    ; SHM reset. The default "" disables file based caching.
    ; RPM note : file cache directory must be owned by process owner
    ;   for mod_php, see /etc/httpd/conf.d/php.conf
    ;   for php-fpm, see /etc/php-fpm.d/*conf
    ;opcache.file_cache=
    
    ; Enables or disables opcode caching in shared memory.
    ;opcache.file_cache_only=0
    
    ; Enables or disables checksum validation when script loaded from file cache.
    ;opcache.file_cache_consistency_checks=1
    
    ; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
    ; This should improve performance, but requires appropriate OS configuration.
    opcache.huge_code_pages=0
    
    ; Leads OPcache to check file readability on each access to cached file.
    ; This directive should be enabled in shared hosting environment, when few
    ; users (PHP-FPM pools) reuse the common OPcache shared memory.
    opcache.validate_permission=1
    
    In a busy shared hosting environment with a lot of CMS type of scripts (WordPress and the like) but on powerful servers, I'm wondering what adjustments I should make to
    Code:
    /opt/cpanel/ea-php72/root/etc/php.d/10-opcache.ini
    in regard to the defaults above.

    Can someone take a moment to post their opinion on what, if anything, I should change in that file?

    [Moderator Note: Moved secondary issue addressed on SOLVED - [EA-8280] References to php71 in php72/php73]

    I know that looks like a lot of info for such a basic request for advice, but hopefully someone here can take a moment to chime-in.

    Thanks very much!
     
    #1 Metro2, Apr 2, 2019
    Last edited by a moderator: Apr 2, 2019
  2. cPanelMichael

    cPanelMichael Technical Support Community Manager Staff Member

    Joined:
    Apr 11, 2011
    Messages:
    47,534
    Likes Received:
    2,182
    Trophy Points:
    363
    cPanel Access Level:
    Root Administrator
    Twitter:
    Hello @Metro2,

    I removed the section of your post containing information on the opcache.ini defect since we're already addressing that on an existing thread. Feel free to add additional information about that issue on it's corresponding thread.

    I'll leave this thread open for feedback/advice from other users regarding the OPCache configuration.

    Thanks!
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. Metro2

    Metro2 Well-Known Member

    Joined:
    May 24, 2006
    Messages:
    446
    Likes Received:
    38
    Trophy Points:
    178
    Location:
    USA
    cPanel Access Level:
    Root Administrator
    Thank you @cPanelMichael

    One thing I have noticed since installing OPCache is that the load average on the servers hangs a bit higher after installing it. For example, server that normally sits around 0.9 avg load now sits around 1.5 average. Hoping that's normal.
     
Loading...

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice