Zend OPcache 개념과 설치 및 설정

OPcache는 PHP script 를 바이트코드(bytecode)로 컴파일한 후에 공유 메모리에 저장하여 성능을 향상 시키는 모듈입니다. 서버의 성능을 향상시키는 PHP 가속기(PHP accelerators) 중 하나인 Zend Opcache 는 PHP 5.5부터 기본 모듈로 내장되었습니다.

✅ OPcache의 주요 기능

  • 바이트코드 캐싱: PHP 스크립트를 바이트코드로 컴파일한 후 캐시에 저장합니다. 이후 동일한 스크립트가 요청되면 캐시된 바이트코드를 재사용합니다.
  • 빠른 실행: 캐시된 바이트코드를 사용하여 PHP 코드의 실행 속도를 높입니다.
  • 메모리 사용 최적화: 공유 메모리를 사용하여 여러 요청 간에 캐시를 공유합니다.
  • 자동 메모리 관리: 오래된 또는 사용되지 않는 캐시 데이터를 자동으로 정리합니다.

✅ Zend OPcache 설치

  • Alma Linux 9.4
  • PHP 8.3.7

PHP 8.3을 이미 설치 해서 서버에 Zend OPcach가 이미 설치되어 있는 상태임을 확인했습니다.

PHP 8.3에 내장 확인미설치 된 경우 설치
~]# php -i | grep "Zend OPcache"
    with Zend OPcache v8.3.7, Copyright (c), by Zend Technologies
Zend OPcache
# php를 설치 후에 rpm 명령어로 PHP OPczche와 Zend OPcache가 같이 확인되는 경우 아래 명령어를 입력하면 하나의 OPczche만 나오는 것을 확인할 수 있음. 두 개의 이름에 하나의 OPczche가 설치된 것임.
~]# php -i | grep -i "opcache"
Additional .ini files parsed => /etc/php.d/10-opcache.ini,
    with Zend OPcache v8.3.7, Copyright (c), by Zend Technologies
Zend OPcache
--- 생략 ---
~#] dnf -y install php83-php-opcache.x86_64
# 다른 명령어 ▼ 
~#] dnf -y install php-opcache

✅ Zend OPcache 설정

🔲 php.ini 설정

/etc/php.d/10-opcache.ini에 이미 설정이 되어 있고 해당 파일에서 수정할 수 있지만 php.ini에 설정을 진행했습니다.

[opcache]
zend_extension=opcache.so
opcache.enable=1                       # 1로 활성화(0=비활성화)
opcache.memory_consumption=512         # 메모리 소비 설정 (단위: MB)
opcache.interned_strings_buffer=8      # interned 문자열에 사용할 메모리 크기 (단위: MB)
opcache.max_accelerated_files=30000    # 캐시할 최대 파일 수
opcache.revalidate_freq=60             # 파일 변경 확인 주기 (단위: 초)
opcache.validate_timestamps=1          # 파일 변경 시각 확인 (개발 환경에서는 1, 운영 환경에서는 0)
opcache.fast_shutdown=1    # 빠른 종료 기능 사용
opcache.enable_cli=1       # PHP의 CLI(Command-line interface) 버전에 Zend OPCache가 활성화되어 사용 할지 여부
opcache.preload=/home/www/opcache_preload.php   # 미리 로드할 스크립트 파일 경로

## root로 사전 로드를 활성화 할 땐 opcache.preload_user로 설정 / 워드프레스 웹사이트 플러그인 사용 시 opcache.preload 설정할 필요가 없음.
opcache.preload_user=root=/home/opcache_preload.php

🔲 opcache 설정 적용 및 확인

~]# systemctl restart php-fpm
~]# apachectl restart
~]# php -i | grep opcache  ## 설정 값 확인 ## 
opcache.blacklist_filename => no value => no value
opcache.dups_fix => Off => Off
opcache.enable => On => On
opcache.enable_cli => On => On
opcache.enable_file_override => Off => Off
opcache.error_log => no value => no value
opcache.file_cache => no value => no value
opcache.file_cache_consistency_checks => On => On
opcache.file_cache_only => Off => Off
opcache.file_update_protection => 2 => 2
opcache.force_restart_timeout => 180 => 180
opcache.huge_code_pages => Off => Off
opcache.interned_strings_buffer => 8 => 8
opcache.jit => tracing => tracing
opcache.jit_bisect_limit => 0 => 0
opcache.jit_blacklist_root_trace => 16 => 16
opcache.jit_blacklist_side_trace => 8 => 8
opcache.jit_buffer_size => 0 => 0
opcache.jit_debug => 0 => 0
opcache.jit_hot_func => 127 => 127
opcache.jit_hot_loop => 64 => 64
opcache.jit_hot_return => 8 => 8
opcache.jit_hot_side_exit => 8 => 8
opcache.jit_max_exit_counters => 8192 => 8192
opcache.jit_max_loop_unrolls => 8 => 8
opcache.jit_max_polymorphic_calls => 2 => 2
opcache.jit_max_recursive_calls => 2 => 2
opcache.jit_max_recursive_returns => 2 => 2
opcache.jit_max_root_traces => 1024 => 1024
opcache.jit_max_side_traces => 128 => 128
opcache.jit_max_trace_length => 1024 => 1024
opcache.jit_prof_threshold => 0.005 => 0.005
opcache.lockfile_path => /tmp => /tmp
opcache.log_verbosity_level => 1 => 1
opcache.max_accelerated_files => 30000 => 30000
opcache.max_file_size => 0 => 0
opcache.max_wasted_percentage => 5 => 5
opcache.memory_consumption => 512 => 512
opcache.opt_debug_level => 0 => 0
opcache.optimization_level => 0x7FFEBFFF => 0x7FFEBFFF
opcache.preferred_memory_model => no value => no value
opcache.preload => no value => no value
opcache.preload_user => no value => no value
opcache.protect_memory => Off => Off
opcache.record_warnings => Off => Off
opcache.restrict_api => no value => no value
opcache.revalidate_freq => 60 => 60
opcache.revalidate_path => Off => Off
opcache.save_comments => On => On
opcache.use_cwd => On => On
opcache.validate_permission => Off => Off
opcache.validate_root => Off => Off
opcache.validate_timestamps => On => On
웹 캐시(Web Cache)

Similar Posts

  • 리눅스 head 명령어 & tail 명령어

    리눅스 head 명령어는 파일의 처음 10줄을 보여주는 명령어이며, tail 명령어는 파일의 마지막 10줄을 보여주는 명령어입니다. 옵션 없이 사용할 경우 각각의 머리와 꼬리 부분을 보여주는 것을 알 수 있습니다. head와 tail 명령어는 보통 서버의 access_log를 볼 때 주로 많이 사용됩니다. 두 명령어의 사용법과 테스트 서버에서 access_log를 각각의 명령어를 통해 확인 해 보겠습니다. 목차✅ OPcache의…

  • 리눅스 패키지(Linux Packag)란 무엇인가?

    리눅스 패키지(Linux Packag)를 윈도우와 비교하자면, 윈도우의 인스톨러 파일(.msi, .exe)는 소프트웨어를 설치하는 데 사용되며, 리눅스에서는 비슷한 개념으로 패키지 관리자를 이용하여 소프트웨어를 설치합니다. 리눅스 패키지는 실행파일, 라이브러리, 설정 파일 등을 하나의 패키지로 묶어 제공하며, 패키지 관리자를 통해 해당 패키지를 다운로드하고 시스템에 설치합니다. 윈도우의 인스톨러와 유사하게, 리눅스는 패키지 관리자를 통해 사용자가 소프트웨어를 쉽게 설치, 업데이트, 삭제할…

  • Apache MPM Module: Prefork, Worker, Event 3가지 방식 비교 및 Event Module 최적화 설정

    Apache MPM Module은 Apache HTTP Server의 중요한 부분으로, 서버의 요청 처리 방식을 결정합니다. MPM(Multi-Processing Module)은 서버의 성능과 확장성에 큰 영향을 미치는 역할을 합니다. 목차✅ OPcache의 주요 기능✅ Zend OPcache 설치✅ Zend OPcache 설정🔲 php.ini 설정🔲 opcache 설정 적용 및 확인 ✅ MPM Module(Multi-Processing Module) MPM 모듈은 서버가 요청을 처리하는 방식을 정의하며, 서버의 성능,…

  • opcache 설치 및 설정

    목차✅ OPcache의 주요 기능✅ Zend OPcache 설치✅ Zend OPcache 설정🔲 php.ini 설정🔲 opcache 설정 적용 및 확인▧ opcache 설치 및 설정 opcache 설치 및 설정’ 방법에 대해 …OS : CentOS7php 7.4opcache는 php 엑세스를 가속화하기 위한 것이다. 리눅스 서버의 공유된 메모리에서 php 문서 해석 시간을 줄여 서버의 응답 속도 및 부하를 줄여 성능을 향상…

  • 리눅스 blkid 명령어 | UUID와 GUID 차이

    리눅스 blkid 명령어는 블록 디바이스의 파일 시스템 유형 or 속성을 출력하는 명령어입니다. 주 목적은 리눅스 서버를 다시 시작하는 경우 /etc/fstab 파일에 자동 마운트 정보를 설정할 때 UUID를 확인하기 위해 사용되는 명령어입니다. 목차✅ OPcache의 주요 기능✅ Zend OPcache 설치✅ Zend OPcache 설정🔲 php.ini 설정🔲 opcache 설정 적용 및 확인 ✅ blkid 명령어 사용 예시…

  • Linux: 프로그램과 프로세스 및 스레드(3가지 용어 차이)

    리눅스 시스템에서 프로그램과 프로세스 스레드의 차이는 운영체제를 이해하는데 필요한 요소입니다. 목차✅ OPcache의 주요 기능✅ Zend OPcache 설치✅ Zend OPcache 설정🔲 php.ini 설정🔲 opcache 설정 적용 및 확인✅ 프로그램(Program)이란? 사전적 의미의 프로그램은 컴퓨터에서 실행 가능한 명령어들의 모음을 의미하며, 특정 작업을 수행하기 위해 개발된 소프트웨어(및 소프트웨어의 형태)입니다. ◼ 종류 ✅ 프로세스(Process)란? 프로세스는 프로그램이 실행되어 돌아가고…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 0   +   5   =