사람들이 Magento의 컴파일러 기능을 사용한다고 언급하는 경우가 종종 있습니다.
어떤 경우에 사용해야하는지, 그리고 얼마나 많은 성능 향상을 가져 왔는지 궁금하지 않습니다.
[면책 조항] : 최근에 이에 대한 수정 제안을 받았습니다. 이 질문은 magento2 디 컴파일에 관한 것이 아니라 magento2에 관한 것조차 아닙니다.
사람들이 Magento의 컴파일러 기능을 사용한다고 언급하는 경우가 종종 있습니다.
어떤 경우에 사용해야하는지, 그리고 얼마나 많은 성능 향상을 가져 왔는지 궁금하지 않습니다.
[면책 조항] : 최근에 이에 대한 수정 제안을 받았습니다. 이 질문은 magento2 디 컴파일에 관한 것이 아니라 magento2에 관한 것조차 아닙니다.
답변:
[면책 조항] 이 답변은 Magento 1의 컴파일러에만 해당되며, Magento 2의 컴파일러는 완전히 다른 목적 / 효과를 갖습니다.
절대 사용해서는 안됩니다.
PHP는 많은 파일을 포함하는 응용 프로그램을 개선하기 위해 몇 가지 기법을 개발했기 때문에.
의미 : 현재 PHP 버전의 php opCache는 올바르게 구성된 경우 성능을 향상시킵니다. 예를 들어 캐시 된 파일에 대해 충분히 높은 제한을 사용합니다. 또한 opCache는 aoe_classpathcache보다 깊은 레벨에서 작동하는 파일 시스템에 액세스하는 기능이 향상되었으며 성능이 훨씬 향상되었습니다.
결국 우리는 자동 로딩 기능을 가지고 있으며 컴파일러없이 몇 ms 이상을 필요로하지 않습니다. 컴파일러가 성능에 해를 끼친 경우도 있습니다. 컴파일러를 사용하여 응용 프로그램을 디버깅하는 데 많은 시간이 걸리는 문제는 말할 것도 없습니다.
또한 opCache는 자동 로딩을 향상시킬뿐만 아니라 파일 시스템 기능 최적화를 통해 템플릿 및 레이아웃 파일 로딩도 향상시킵니다.
realpath_cache_size=64k
및 realpath_cache_ttl=3600
. 64k는 좋은 장소 인 것 같습니다. 사람들은 더 많은 것을 추천했지만 성능 테스트는 메모리 낭비라는 것을 보여줍니다.
"마 젠토 컴파일러는 언제 사용해야합니까?"
어떤 이유로 시스템에 PHP Accelerator가 설치되어 있지 않은 경우 (가능하지는 않지만)
이전 버전의 magento를 실행중인 경우 (실제로 사용해서는 안 됨)
왜 비활성화 상태를 유지해야합니까?
위의 Fiasco Labs 의견에 전적으로 동의합니다. magento 버전 번호를 제공하지 않았지만, PHP-APC 등과 같이 이미 PHP 가속기가있는 시스템에서 전체 상점을 사용하는 경우 1.6.1 이상의 모든 magento (CE) 버전에 해당됩니다. , 관리 페이지에서 고객에 이르기까지 체크 아웃 속도가 느려질 수 있지만, magento connect에서 찾은 많은 플러그인 / 모드는 컴파일러가 활성화 된 상태에서 올바르게 작동하지 않습니다.
간단히 말해 2014 년에는 컴파일러를 활성화 할만한 충분한 이유가 없습니다.