문제

다음과 같은 PHP 가속기를 사용한 경험이 있는 사람이 있습니까? MMCache 또는 젠드 가속기?이 중 하나를 사용하면 PHP가 다음과 비슷한지 알고 싶습니다. 더 빠르게 웹 기술.또한 이것을 사용하면 장단점이 있습니까?

도움이 되었습니까?

해결책

Zend Optimizer와 MMCache(또는 유사한 응용 프로그램)는 완전히 다른 것입니다.Zend Optimizer가 프로그램 opcode를 최적화하려고 시도하는 동안 MMCache는 메모리에 스크립트를 캐시하고 미리 컴파일된 코드를 재사용합니다.

얼마 전에 몇 가지 벤치마크를 수행했는데 찾을 수 있습니다. 결과 내 블로그에서 (독일어로).기본 결과:

Zend Optimizer만으로는 전혀 도움이 되지 않았습니다.실제로 내 스크립트는 최적화 프로그램이 없을 때보다 느렸습니다.

캐시의 경우:* 가장 빠른: e가속기 * X캐시 * APC

그리고:Opcode 캐시를 설치하고 싶습니다!

예를 들어:대체 텍스트 http://blogs.interdose.com/dominik/wp-content/uploads/2008/04/opcode_wordpress.png

워드프레스 홈페이지를 10,000번 호출하는데 걸린 시간입니다.

편집하다: 그런데 eAccelerator에는 최적화 프로그램 자체가 포함되어 있습니다.

다른 팁

MMCache는 더 이상 사용되지 않습니다.나는 둘 중 하나를 추천한다 http://pecl.php.net/package/APC 또는 http://xcache.lighthttpd.net/, 둘 다 가변 저장소(예: Memcache)도 제공합니다.

둘 다 흥미롭고 소스 코드를 바이너리 표현으로 컴파일한 다음 PHP 엔진에 의해 실행되므로 속도 향상을 제공합니다.

PHP(예: Facebook)로 실행되는 대규모 웹 사이트는 MMCache와 같은 일종의 opcode 캐시 시스템을 실행하고 있습니다.

문제는 시스템에 따라 설정하기가 쉽지 않다는 것입니다.

실제로 실행되는 PHP 코드의 양과 실행 시간에 따라 큰 승리를 거둘 수 있습니다.확실히 해를 끼치지는 않을 것이지만, 당신이 보는 이득은 당신의 시간이 현재 어디에 소비되는지에 따라 크게 달라질 것입니다.

btw mmcache는 이제 다른 프로젝트로 롤백되었습니다. 이름은 잊어버렸지만 Google에서 알려드릴 것입니다.

저는 프로덕션 서버에서 APC를 사용하고 있으며 기본적으로 매우 잘 작동합니다.이를 컴파일하고 PHP에 추가하면 더 이상 조정할 작업이 남아 있지 않습니다.통계를 검토하기 위해 가끔 확인하지만 MVC를 많이 사용하기 때문에 모든 기본 파일(라우터, 컨트롤러 등)이 매일 거의 변경되지 않아 코드가 컴파일된 상태로 유지되고 매우 효율적으로 실행됩니다. .

현재 우리는 무료로 apc를 사용하고 있으며 라이브 서버에서 간단한 플러그 앤 플레이를 사용했습니다.특히 프로젝트 규모가 증가함에 따라 사이트 성능이 크게 향상되었습니다.또한 apc.stat를 비활성화하여 코드가 업데이트되었는지 확인하지 않으므로 라이브 사이트에서 코드를 업데이트해야 할 때마다 Apache를 다시 시작합니다.

저는 APC를 사용하는데, 높은 캐시 적중률을 유지하면 앱 서버의 CPU 및 I/O 로드를 획기적으로 줄일 수 있음을 증명할 수 있습니다.이는 컴파일할 필요를 줄여줄 뿐만 아니라, 디스크에서 PHP 파일을 전혀 읽지 않아도 되도록 해줍니다.(즉.바이트코드는 메인 메모리에서 직접 제공되므로 매우 빠릅니다. 단일 페이지를 렌더링하는 속도는 낮추고 서버가 처리할 수 있는 초당 요청 수는 늘립니다.

RedHat 또는 CentOS를 사용하는 경우 APC 설치는 매우 간단합니다.

yum install php-devel httpd-devel php-pear
pecl install apc 
echo "extension=apc.so" > /etc/php.d/apc.ini
# if you're using SELinux:
chcon "system_u:object_r:textrel_shlib_t" /usr/lib/php/modules/apc.so
/etc/init.d/httpd restart

단점에 대해 질문하셨습니다.유일한 단점은 약간의 메모리가 필요하다는 것입니다.APC의 기본값은 30MB이지만 조정이 가능하며 약간의 메모리 비용은 증가된 속도와 응답 속도로 인해 그 자체로 지불되는 것 이상입니다.

BlaM의 테스트에는 WordPress에서 수행한 모든 DB 호출이 포함되었습니다.DB 호출 수가 줄어들면 opcode 캐시의 성능 향상이 더욱 극적으로 향상되는 것을 확인할 수 있습니다.

저는 예전(2004년)에 Zend Accelerator를 사용했습니다.확실히 작업할 수 있는 코드에서 상당한 성능 향상을 가져왔지만 불행하게도 제가 사용하고 있던 시스템은 코드를 동적으로 로드한 다음 평가하도록 설계되어 있었는데 당시에는 Zend Accelerator가 많은 작업을 수행할 수 없었습니다. 아직은 그럴 수 없을 것 같아요).

단점으로는 몇 가지 캐싱 문제가 확실히 확인되었습니다(코드는 변경되지만 컴파일된 버전은 어떤 이유로든 변경 사항과 동기화됨).나는 그러한 문제가 지금쯤 해결되었을 것이라고 생각합니다.

어쨌든, 나는 확실한 비교 수치를 가지고 있지 않으며 확실히 비교를 위해 다른 환경에서 동일한 시스템을 작성하지 않았지만 대부분의 시스템에서 PHP는 성능 측면에서 당신을 죽이지 않을 것입니다.

Phalanger를 확인해 보셨나요?PHP를 .NET 코드로 컴파일합니다.여기 있습니다 일부 벤치마크 이는 성능을 획기적으로 향상시킬 수 있음을 보여줍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top