OpCache - zalecana konfiguracja dla Magento2

10

Pracuję ze stosem Magento 2, ponownie wykorzystuję część mojej konfiguracji OpCache Magento 1. Nauczyłem się już, że teraz musimy włączyć komentarze, ale jestem pewien, że inne wartości można poprawić, więc oto moja obecna konfiguracja:

[opcache]
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=256
opcache.interned_strings_buffer=12
opcache.max_accelerated_files=65406 // thanks Mage2.Pro!
;opcache.max_wasted_percentage=5
;opcache.use_cwd=1
opcache.validate_timestamps=0
;opcache.revalidate_freq=2
;opcache.revalidate_path=0
;opcache.save_comments=0
;opcache.load_comments=0
opcache.fast_shutdown=1
opcache.enable_file_override=1
;opcache.optimization_level=0xffffffff
;opcache.inherited_hack=1
;opcache.dups_fix=0
;opcache.blacklist_filename=
;opcache.max_file_size=0
;opcache.consistency_checks=0
;opcache.force_restart_timeout=180
opcache.error_log=/var/log/php5/php5-opcache.error.log
opcache.log_verbosity_level=3
;opcache.preferred_memory_model=
;opcache.protect_memory=0

UWAGA: Zredaguję blok konfiguracji w pytaniu (po otwarciu) ze wszystkimi dobrymi odpowiedziami, aby był przydatny dla wszystkich i unikał powtarzania sugestii, jeśli występuje jakiś problem lub stanowi naruszenie zasad witryny, po prostu daj mi znać.

MauroNigrele
źródło
Dlaczego nie włączyć opcache dla CLI?
MagePsycho

Odpowiedzi:

13

opcache.max_accelerated_files=16000jest zdecydowanie niski dla Magento 2.
find . -type f -print | xargs grep "<?php" | wc -ldaje mi 30736do instalacji Magento 2 (z kodem wygenerowanym w var/generationfolderze i kilkoma zainstalowanymi zewnętrznymi rozszerzeniami).
Zalecam ustawić opcache.max_accelerated_filessię 65406jeśli serwer ma pojedynczą instalację Magento 2 i nie ma innych witryn PHP.
Jeśli masz wiele witryn PHP na serwerze, rozważ tę wartość 130986.

Mage2.PRO
źródło
0

Polecam również dołączyć następujące ustawienia, które, jak sądzę, zostały dodane do php7

; Allows calling OPcache API functions only from PHP scripts which path is
; started from specified string. The default "" means no restriction
;opcache.restrict_api=

; Mapping base of shared memory segments (for Windows only). All the PHP
; processes have to map shared memory into the same address space. This
; directive allows to manually fix the "Unable to reattach to base address"
; errors.
;opcache.mmap_base=

; 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.
;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

; Implies opcache.file_cache_only=1 for a certain process that failed to
; reattach to the shared memory (for Windows only). Explicitly enabled file
; cache is required.
;opcache.file_cache_fallback=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=1
3610374
źródło