it-source

APC -> APCu/OPCache, 퍼포먼스 저하

criticalcode 2023. 3. 27. 21:18
반응형

APC -> APCu/OPCache, 퍼포먼스 저하

는 i i나 an an an i i i i i i i 。m3.xlarge'EC2'로 PHP 5.5.11 오늘.

로 인해, 은 오버랩이 됩니다.php55-pecl-apcphp55-pecl-apcu.

해 본 , 는 '아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 네.APC has has has has has has has has has has has 로 바뀌었습니다.OPCache, 수키 값 APCu.

설정을 합리적으로 수정한 후 로그인 시 Wordpress를 사용하는 것이 매우 느려지고 적어도 300~900밀리초 이상 나빠졌습니다(프런트 엔드는 니스로 캐시되어 완벽하게 동작합니다).그러나 admin을 사용하면 의도적으로 캐시되지 않고 속도가 느려집니다.)

업그레이드 시 단계별로 작은 샘플 사이즈에 걸쳐 일련의 벤치마크를 실시했습니다.그것은 내가 갈수록 악화되었다.

  • 업그레이드) APC(「」)-->
  • + OPCache + APCu 음음-->
  • APCu용 OPCache + APCu + WP 플러그인

지금은 OPCache랑 놀고 있고 APCU는 없어요

  1. 어떻게 하면 같은 퍼포먼스를 얻을 수 있을까요?관리 인터페이스도 마음에 들고, 속도도 마음에 들었습니다.솔직히 이게 어떻게 나아졌는지 전혀 모르겠어요. 정말 우울해요.내가 모르는 슈퍼 도서관이 없다면 말이야제가 가지고 있는 것과 다르거나 설정이 잘 되어 있지 않을 수도 있습니다.
  2. #1에 대한 답이 "공처럼 구성했습니다"라고 가정하면, 이 내용을 살펴보고 이것이 합리적인지 확인해 주시겠습니까?

셋업에서는 최신 워드프레스, 몇 개의 대형 플러그인을 사용하고 있습니다만, 중요하기 때문에 떼어낼 수 없습니다.운 좋게도 니스가 대부분의 일을 처리한다.웹 사이트 루트에 코어 4개, 메모리 16GB, 최대 10,000개의 파일이 있습니다.하드코어 앱이나 워드프레스 이외에는 없습니다.바닐라 셋업입니다.도움이 될 만한 건 여기까지인 것 같아요

설정:

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.revalidate_freq=0
opcache.revalidate_path=0
opcache.save_comments=0
opcache.load_comments=0
opcache.fast_shutdown=1
opcache.enable_file_override=0
opcache.optimization_level=0xffffffff
opcache.inherited_hack=1
opcache.dups_fix=0
opcache.blacklist_filename=/etc/php-5.5.d/opcache*.blacklist
opcache.max_file_size=2M
opcache.consistency_checks=1
opcache.force_restart_timeout=180
opcache.error_log=/var/log/php-fpm/5.5/opcache.log
opcache.log_verbosity_level=1
opcache.preferred_memory_model=
opcache.protect_memory=0

현재는 모든 변경 요청에 대해 모든 파일을 체크하고 있지만, 실제 운영 시스템에서 원하는 변경 사항이 아닐 수 있습니다.

통상, 무효로 합니다(변경 후에 Web 서버를 재기동하는 것을 잊지 말아 주세요).

opcache.validate_timestamps=0

또, 빈도를 0 이외의 값으로 설정해, 유효하게 할 수도 있습니다.

opcache.validate_timestamps=1  
opcache.revalidate_freq=300

이론적으로는 5분마다 변경 사항만 확인합니다.

또,

opcache.consistency_checks=1

의사들에 따르면 성능이 저하된다고 합니다.그거 꺼요.

opcache.consistency_checks integer

0이 아닌 경우 OPcache는 N개의 요구마다 캐시 체크섬을 확인합니다.여기서 N은 이 설정 디렉티브의 값입니다.퍼포먼스를 저하시킬 수 있기 때문에, 디버깅시에만 유효하게 해 주세요.

OPCache를 PHP에 통합한 RFC:

APC는 오래된 비활성화 스크립트의 메모리를 회수할 수 있습니다.APC는 메모리 매니저를 사용하여 더 이상 사용되지 않는 스크립트와 관련된 메모리를 회수할 수 있습니다.Optimizer+는 다르게 동작하며 이러한 메모리를 '더러운' 상태로 표시하지만 실제로는 회수하지 않습니다.더티 퍼센티지가 설정 가능한 임계값을 초과하면 Optimizer+가 자동으로 재시작됩니다.이 동작에는 안정성의 장점과 단점이 있습니다.

opcode 캐시 재기동을 트리거하는 문턱값에 도달한 것 같습니다.

참고 자료: https://wiki.php.net/rfc/optimizerplus#advantages_of_apc_over_optimizer

언급URL : https://stackoverflow.com/questions/23382615/apc-apcu-opcache-performance-poor

반응형