2010-11-29 5 views
0

mpm-worker 및 mod_fcgid와 함께 apache 웹 서버를 사용하고 있습니다.php opcode 캐싱을 사용하는 mod_fcgid

나는 opcode 캐싱을 사용할 수 없다는 mod_fcgid에 대해 읽었습니다.

http://www.brandonturner.net/blog/2009/07/fastcgi_with_php_opcode_cache/

APC 캐시 모듈 내 PHP 설정에서 활성화 될 것으로 보인다.

내 스폰 된 php 코드가 이 아닌지 확실하지 않은 경우이 공유됩니다.

APC를 제거해야합니까? 오버 헤드가 있습니까?

답변

2

생성 된 php 코드가 공유되지 않는지 확실하지 않습니다.

this question이 도움이 될 수 있습니다.

APC를 제거해야합니까? 오버 헤드가 있습니까?

는 오버 헤드에 관해서는, 당신이 N 프로세스가 있다면, 당신은 N 캐시를해야합니다. 공간 효율적인 것은 아니지만 여전히 CPU주기를 줄이는 데 도움이 될 수 있습니다.

+0

+1, 내 대답보다 나은 답변 :) –

1

opcode 캐싱을 사용하지만 캐시는 PHP 프로세스간에 공유되지 않으므로 각 프로세스마다 한 번 캐시됩니다. 확실히 APC를 사용할 가치가 있습니다.

기사를 읽은 후 fgcid와 fastcgi에 대한 내 자신의 $ 0.2c를 여기에 던지겠습니다. 우리는 처음에는 fastcgi를 사용하고 PHP 프로세스가 여러 자식을 생성하도록하는 것과 비슷한 기사를 설명했습니다. 이는 캐시 공유 문제를 해결하기위한 시도였습니다.

그러나 우리는이 해결책으로 주기적으로 잠김을 경험했습니다. PHP 프로세스가 멈추고 fastcgi가이를 감지하지 못하게되어 전체 사용자가 모든 응용 프로그램을 정지하게됩니다.

우리는 fcgid로 다시 전환했으며 잠금 장치가 완전히 중단되었습니다. 프로세스 당 캐시에 약간의 오버 헤드가 있지만 fcgid는 필요할 때마다 새로운 PHP 프로세스를 생성하므로 실제로는 오버 헤드가 최소화됩니다.

우리는 opcode 캐시뿐만 아니라 APC와 함께 사용자 캐시를 사용합니다. 따라서 우리는 절충 할 가치가 있습니다 (캐시 된 데이터는 서버에서의 작업이 적고 캐시 된 opcode는 서버에서의 작업이 적다는 뜻이므로) CPU 사용 약간의 메모리 사용 페널티가 발생하면 확실히 줄어 듭니다.

관련 문제