Image

지식 기반 → PHP 8 설정을 사용하여 웹사이트 속도 높이기

PHP 8에는 성능 최적화를 위한 새로운 기능과 JIT(Just In Time) 컴파일이라는 스크립트 속도를 높이는 새로운 기능이 있습니다.

순수 해석 프로그래밍 언어에는 컴파일 단계가 없으며 가상 머신에서 코드를 직접 실행합니다. PHP를 포함한 대부분의 해석 언어에는 실제로 성능 향상을 위한 간단한 컴파일 단계가 있습니다.

반면, AOT(Ahead-of-Time) 프로그래밍 언어는 실행되기 전에 코드를 컴파일해야 합니다.

JIT(Just In Time) 컴파일은 개발자가 수동으로 컴파일할 필요 없이 코드의 일부 또는 전부가 런타임에 컴파일되는 인터프리터와 사전 컴파일의 하이브리드 모델입니다.

이 옵션은 opcache 모듈에서 제어됩니다. 이 모듈은 스크립트 작업 속도를 높이도록 설계되었으며 JIT를 활성화하면 스크립트 실행 속도가 더욱 빨라집니다. 이중 가속을 허용합니다.

비교 속도 증가 그래프.

이 예에서는 PHP 8.3을 사용합니다.

1. 모듈 가용성 확인

php8.3 -m | grep OPcache

출력에서는 일반 섹션과 Zend 모듈 섹션에 2번 나타날 수 있습니다. 이는 활성화되었음을 의미합니다.

1.1 꺼져 있으면 켜주세요

이 예에서는 Debian 12를 사용하며 경로가 다를 수 있습니다.

nano /etc/php/8.3/fpm/conf.d/10-opcache.ini
; configuration for php opcache module
; priority=10
opcache.enable=1
opcache.revalidate_freq=0
opcache.validate_timestamps=1
opcache.max_accelerated_files=10000
opcache.memory_consumption=192
opcache.max_wasted_percentage=10
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
zend_extension=opcache.so
opcache.jit=on

1.2 PHP 설정에서 모듈을 활성화해 보겠습니다

nano /etc/php/8.3/fpm/php.ini

구성 줄 맨 끝에 추가:

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.jit_buffer_size=256M
opcache.jit=1235

1.3 fpm을 다시 시작합시다

service php8.3-fpm restart
service php8.3-fpm status

1.4 모듈이 있는지 다시 확인해보자

php8.3 -m | grep OPcache

1.5 스크립트로 확인하기

다음 내용으로 PHP 파일을 만들어 보겠습니다

touch info.php
nano info.php
<?php
phpinfo();
?>

브라우저 http[s]://domain.tld/info.php를 통해 스크립트를 열고 Ctrl + F를 사용하여 opcache라는 단어를 검색하고 설정 매개변수를 찾습니다.

이 줄은 OPcache 모듈과 JIT 추가 기능이 활성화되었음을 나타냅니다.





No Comments Yet