OPcache란
미리 컴파일된 바이트코드를 공유 메모리에 저장함으로써, 매 요청마다 PHP가 스크립트를 로딩하고 파싱하는 부분을 제거하여 PHP의 성능을 향상시키는 모듈이다.
OPcache improves PHP performance by storing precompiled script bytecode in shared memory, thereby removing the need for PHP to load and parse scripts on each request.
OPcache 설치하기
yum install php-opcache
OPcache 설정하기
/etc/php.d/10-opcache.ini 설정파일 내용을 아래와 같이 변경해준다.
(각 성능에 관련된 값은 디폴트를 쓰려면 주석 해제하지 않으면 되고, 아니면 서버에 맞게 조정하면 된다.)
- opcache.enable = 1 // 0 이면 비활성화
- opcache.validate_timestamps = 1 // 0이면 변경사항을 반영할 때 수동으로 opcache를 reset 하거나 웹서버를 재부팅 해야 한다.
; Enable Zend OPcache extension module
zend_extension=opcache
; 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=512
; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=32
; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 1000000 are allowed.
opcache.max_accelerated_files=1000000
; 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=1
php-fpm 재시작하기
php-fpm을 사용중이라면, 재시작한다. (사용 안하면 패스)
systemctl restart php-fpm
웹서버 재시작하기
systemctl restart httpd
동작 확인
phpinfo를 통해, opcache가 제대로 동작하고 있는지 확인한다.
'개발 > PHP' 카테고리의 다른 글
[PHP] PHP의 철학 (0) | 2024.02.22 |
---|---|
[PHP] Composer 사용법 (0) | 2023.08.08 |
[PHP] PHP-FPM 적용하기 (Centos7) (0) | 2023.02.17 |
[PHP] 윈도우에서 php 7.4로 업그레이드 및 VScode 디버깅 설정 (0) | 2023.02.07 |
[PHP] php7.2 에서 7.4로 버전업 (CentOS7, 워드프레스용) (0) | 2023.02.04 |