최고의 Zend OpCache 설정 및 구성

Zend OpCache를 올바르게 사용하면 PHP 액세스 속도를 향상시키고 PHP 성능을 최적화할 수 있습니다. Zend OpCache를 활성화한 후 어떻게 설정해야 할까요? 다음으로, 조정해야 할 몇 가지 매개변수에 대해 알아보겠습니다.

최고의 Zend OpCache 설정 및 구성
당신은 이해합니다".memory_consumption"이라고 되어 있는데, 어떻게 설정해야 할지 누가 알겠어요? 32가 너무 많은 걸까요? 아니면 너무 적은 걸까요? 누가 알겠어요? 검색 엔진에는 아무것도 없으니 기본 설정을 사용하세요. 기본 설정으로는 Zend OpCache의 캐시 성능을 최대한 활용할 수 없습니다.
Zend OpCache를 올바르게 사용하면 PHP 액세스 속도를 향상시키고 PHP 성능을 최적화할 수 있습니다. Zend OpCache를 활성화한 후 최적의 성능을 설정하는 방법은 무엇일까요? 다음으로, 조정해야 할 몇 가지 매개변수에 대해 알아보겠습니다.
가장 먼저 말씀드릴 것은 Zend OpCache의 구성 매개변수를 수정하는 위치입니다. 물론 php.ini 파일에서 수정해야 합니다. [OpCache]를 찾아 [OpCache] 컨테이너 아래에 설정하세요.
opcache.revalidate_freq: 코드 캐시가 만료되어 코드 변경 여부를 확인하는 시간(초)입니다. 0으로 설정하면 모든 요청에서 PHP 코드를 확인합니다(이로 인해 stat 시스템 호출이 많이 발생합니다). 개발 환경에서는 이 값을 0으로 설정하세요.
opcache.validate_timestamps: 이 옵션을 활성화하면 PHP가 파일 타임스탬프를 opcache.revalidate_freq 값과 비교합니다. 이 옵션을 비활성화하면 opcache.revaliate_freq가 무시되고 PHP 파일에서 업데이트된 코드를 검사하지 않습니다. 따라서 코드를 수정하더라도 PHP 서버를 재시작하거나 다시 로드해야 변경 사항이 적용됩니다. 개발 환경에서 opcache.validate_timestamps를 주석 처리하세요.
opcache.max_accelerated_files: 한 번에 메모리에 저장할 수 있는 PHP 파일 수를 제어합니다. 웹사이트 디렉터리에 설정된 것보다 적은 PHP 파일이 있는 것이 가장 중요합니다. 예를 들어, 웹사이트 디렉터리의 PHP 파일에는 약 6,000개의 파일이 있으므로 maxacceleratedfiles에 소수 7,963을 사용합니다.
다음을 실행하면 코드베이스에 있는 파일 수를 빠르게 셀 수 있습니다. 웹사이트 디렉토리로 이동하여 다음 명령을 실행합니다.

find . -type f -print | grep php | wc -l

opcache.memory_consumption: 기본값은 64MB이며, 코드가 많을 경우 256MB로 설정하세요. opcachegetstatus() 함수를 사용하면 opcache가 메모리를 얼마나 사용하는지, 그리고 메모리 사용량을 늘려야 하는지 확인할 수 있습니다.
opcache.interned_strings_buffer: PHP는 성능 향상을 위해 문자열 인턴(string interning)이라는 기법을 사용합니다. 예를 들어, 코드에서 "foobar" 문자열을 1000번 사용하면 PHP는 해당 문자열에 대한 변경 불가능한 변수 1개와 999번 사용된 다른 문자열에 대한 포인터 1개를 내부적으로 저장합니다. 이 설정은 각 php-fpm 프로세스마다 이러한 변경 불가능한 문자열 풀을 사용하는 대신, 모든 php-fpm 프로세스에서 이를 공유합니다. 특히 대규모 애플리케이션에서 메모리를 절약하고 성능을 향상시킵니다. 값은 메가바이트(MB) 단위로 설정되므로 16MB를 사용하려면 "16"으로 설정하십시오. 기본값은 4MB입니다.

opcache.revalidate_freq=0 opcache.validate_timestamps=0 opcache.max_accelerated_files=7963 opcache.memory_consumption=256 opcache.interned_strings_buffer=16
1/5 - (1 투표)

댓글남기기

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