>백엔드 개발 >PHP 튜토리얼 >PHP의 APC 확장에 대한 간략한 분석 (2)

PHP의 APC 확장에 대한 간략한 분석 (2)

WBOY
WBOY원래의
2016-07-29 09:15:10869검색

“런타임 설정”: 여기에 표시되는 것은 실행 중인 apc의 구성 정보입니다. 필요에 따라 apc 매개변수를 조정할 수 있습니다. 매개변수 설정은 php.ini에서 수행됩니다.

PHP의 APC 확장에 대한 간략한 분석 (2)

PHP의 APC 확장에 대한 간략한 분석 (2)

다음은 일반적으로 사용되는 몇 가지 매개변수입니다.

1 apc.cache_by_default 및 apc.filters: apc.cache_by_default, 시스템 캐시 켜기 여부는 일반적으로 apc.filters와 함께 사용되며 캐시가 필요한 PHP 파일과 캐시할 필요가 없는 파일을 제어하는 ​​데 사용됩니다. apc.filters 매개변수의 값은 POSIX 확장 정규식의 쉼표로 구분된 목록입니다. 정규식의 첫 번째 문자가 +인 경우 일치하는 파일은 캐시입니다. , -이면 일치하는 파일이 캐시되지 않습니다.

데모1: 시스템 캐시를 끄고, a와 b로 시작하는 파일만 캐시하고, 다른 파일은 캐시하지 않습니다.

  apc.cache_by_default = 0
  apc.filters=+a.*.php,+b.*.php

데모2: 시스템 캐시를 켜고, 파일을 캐시하지 않습니다. a 및 b 파일로 시작하면 다른 파일이 캐시됩니다.

  apc.cache_by_default = 1
  apc.filters = -a.*.php,-b.*.php

2 apc.shm_size 및 apc.shm_segments: apc.shm_size, 각 공유 메모리 블록의 크기(MB). 시스템 캐시와 사용자 캐시는 공유되며, 이 값을 조정하여 APC의 공유 메모리 블록 크기를 변경할 수 있습니다. apc.shm_size의 값이 시스템이 달성할 수 있는 최대값으로 설정되었지만 여전히 충분하지 않은 경우 apc.shm_segments를 사용해야 합니다. 이 옵션의 의미는 할당할 공유 메모리 블록의 수입니다. 컴파일러 캐시에서 이 값을 조정하여 공유 메모리 블록 수를 변경할 수 있습니다(그러나 테스트 당시에는 이 옵션이 적용되지 않았습니다).

3 apc.stat: 스크립트가 업데이트되었는지 여부를 감지하는 데 사용됩니다. 기본적으로 스크립트가 요청될 때마다 스크립트가 업데이트되었는지 여부가 감지됩니다. 성능상. 프로덕션 환경의 스크립트 파일이 자주 업데이트되지 않는 경우 이를 꺼둘 수 있으므로 성능이 크게 향상됩니다. 단점은 스크립트가 업데이트되면 웹 서버를 다시 시작해야 한다는 것입니다. nginx입니다. php-fpm을 다시 시작하면 적용됩니다.

4 apc.ttl 및 apc.user_ttl: 캐시 항목이 버퍼에 머무를 수 있는 시간(초)입니다. 차이점은 apc.ttl은 시스템 캐시용이고 apc.user_ttl은 사용자 캐시용이라는 것입니다. 테스트하는 동안 이 두 옵션은 제대로 수행되지 않았습니다. 예를 들어 값이 10으로 설정된 경우 10초 내에 캐시 항목에 액세스하지 않으면 해당 캐시 항목이 지워지지만 10초 후에는 삭제됩니다. 이러한 항목은 여전히 ​​존재하며 지워질 수 없습니다.

5 apc.num_files_hint 및 apc.user_entries_hint: 웹 서버에 포함되거나 요청되는 다양한 소스 파일 수에 대한 대략적인 추정치로 apc.num_files_hint는 시스템 캐시용이고 apc.user_entries_hint는 사용자 캐시. 캐시 시간과 마찬가지로 캐시 수량도 아무런 영향을 미치지 않는 것 같습니다. 예를 들어 수량을 3으로 설정하면 3을 초과하는 파일은 여전히 ​​캐시됩니다.

다른 매개변수는 너무 많이 소개되지 않을 것입니다. 캐시 시간과 캐시 수량에 관해서는, 이러한 매개변수에 대해 깊이 이해하고 있는 사람이 있다면 열기 방법이 잘못되어 기대한 효과를 얻을 수 없을 수도 있습니다. 연구를 통해 저를 깨달을 수 있기를 바랍니다.

요약:

1 apc의 공식 매뉴얼에는 apc에 두 가지 주요 구성 옵션이 있다고 명시되어 있습니다. 하나는 apc에 할당할 메모리 양(옵션 apc.shm_size)이고 다른 하나는 매번 apc에 파일 수정 여부를 요청합니다(옵션 apc.stat). 이 두 옵션은 apc에 매우 중요하다고 볼 수 있습니다.

2 apc.cache_by_default열기 및 닫기는 시스템 캐시에만 영향을 미치며 사용자 캐시에는 영향을 주지 않습니다.

3 apc의 공유 메모리 블록은 시스템 캐시와 사용자 캐시가 공유합니다.

4 apc 3.1.15-dev 버전, php 5.5.10, 운영 체제 centos6.5, apc.shm_segments 설정이 적용되지 않았습니다.

5 APC 캐시가 가득 차면 시스템 캐시와 사용자 캐시가 다르게 동작합니다. 요청 시 시스템 캐시 파일이 캐시 제한에 도달하면 apc는 요청을 제외한 다른 모든 시스템 캐시 파일을 지웁니다. 요청 중에 사용자 캐시 변수가 캐시 제한에 도달하면 요청 변수를 제외한 다른 모든 사용자 캐시 변수가 지워집니다. 즉, 시스템 캐시와 사용자 캐시가 서로 영향을 미치지 않습니다.

이상 내용의 측면을 포함하여 PHP의 apc 확장(2)에 대한 간략한 분석을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.