마 젠토 컴파일러는 언제 사용해야합니까


44

사람들이 Magento의 컴파일러 기능을 사용한다고 언급하는 경우가 종종 있습니다.

어떤 경우에 사용해야하는지, 그리고 얼마나 많은 성능 향상을 가져 왔는지 궁금하지 않습니다.

[면책 조항] : 최근에 이에 대한 수정 제안을 받았습니다. 이 질문은 magento2 디 컴파일에 관한 것이 아니라 magento2에 관한 것조차 아닙니다.


1
컴파일러와 함께 내 벤치 마크를 참조하십시오 : byte.nl/blog/should-i-use-the-magento-compiler
Willem

1
apc 설정이 누락되었으며 현재 버전에 opcache 모듈이 있으며 더 이상 apc와 작동하는 지원되는 PHP 버전이 없습니다. 소프트웨어가 변경되면 솔루션 및 해결 방법도 변경됩니다.
Flyingmana

답변:


43

[면책 조항] 이 답변은 Magento 1의 컴파일러에만 해당되며, Magento 2의 컴파일러는 완전히 다른 목적 / 효과를 갖습니다.

절대 사용해서는 안됩니다.

PHP는 많은 파일을 포함하는 응용 프로그램을 개선하기 위해 몇 가지 기법을 개발했기 때문에.

의미 : 현재 PHP 버전의 php opCache는 올바르게 구성된 경우 성능을 향상시킵니다. 예를 들어 캐시 된 파일에 대해 충분히 높은 제한을 사용합니다. 또한 opCache는 aoe_classpathcache보다 깊은 레벨에서 작동하는 파일 시스템에 액세스하는 기능이 향상되었으며 성능이 훨씬 향상되었습니다.

결국 우리는 자동 로딩 기능을 가지고 있으며 컴파일러없이 몇 ms 이상을 필요로하지 않습니다. 컴파일러가 성능에 해를 끼친 경우도 있습니다. 컴파일러를 사용하여 응용 프로그램을 디버깅하는 데 많은 시간이 걸리는 문제는 말할 것도 없습니다.

또한 opCache는 자동 로딩을 향상시킬뿐만 아니라 파일 시스템 기능 최적화를 통해 템플릿 및 레이아웃 파일 로딩도 향상시킵니다.

http://php.net/manual/en/opcache.configuration.php


2
따라서 컴파일을 비활성화하고 컴파일 된 파일을 지우고 대신 opCache를 사용하는 것이 좋습니다.
perissf

1
요약하면, 예
Flyingmana

3
컴파일러는 1.4.1.1, 1.4.2.0 및 1.5.1.0 버전에서 가장 유용한 kludge입니다. 1.5.1.0부터 코드 최적화는 효과가 떨어지기 시작했습니다. 약 1.6 또는 1.7 정도의 누군가가 A / B 테스트를 수행하여 특정 서버 구성에서 실제로 시스템 속도가 느려질 수 있음을 발견했습니다.
Fiasco Labs

3
시스템에 액세스 할 수 있거나 호스팅 제공 업체가 변경을 수행 할 수있는 경우 수행 할 수있는 파일의 총계를 돕기 위해 PHP 인터프리터에 대한 두 가지 설정-> realpath_cache_size=64krealpath_cache_ttl=3600. 64k는 좋은 장소 인 것 같습니다. 사람들은 더 많은 것을 추천했지만 성능 테스트는 메모리 낭비라는 것을 보여줍니다.
Fiasco Labs

2
@FiascoLabs "A / B 테스트"수치에 대한 링크 / 소스가 있습니까? 만나서 반가워요.
Aram Papazian

11

"마 젠토 컴파일러는 언제 사용해야합니까?"

어떤 이유로 시스템에 PHP Accelerator가 설치되어 있지 않은 경우 (가능하지는 않지만)

이전 버전의 magento를 실행중인 경우 (실제로 사용해서는 안 됨)

왜 비활성화 상태를 유지해야합니까?

위의 Fiasco Labs 의견에 전적으로 동의합니다. magento 버전 번호를 제공하지 않았지만, PHP-APC 등과 같이 이미 PHP 가속기가있는 시스템에서 전체 상점을 사용하는 경우 1.6.1 이상의 모든 magento (CE) 버전에 해당됩니다. , 관리 페이지에서 고객에 이르기까지 체크 아웃 속도가 느려질 수 있지만, magento connect에서 찾은 많은 플러그인 / 모드는 컴파일러가 활성화 된 상태에서 올바르게 작동하지 않습니다.

간단히 말해 2014 년에는 컴파일러를 활성화 할만한 충분한 이유가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.