대체 PHP 캐시 (APC)에서 잠금 메커니즘을 변경하는 방법은 무엇입니까?
문제
나는 최근 Scribd의 프레젠테이션에서 Facebook이 파일 잠금을 포함하여 APC에 대한 다양한 잠금 메커니즘을 벤치마킹했다는 것을 읽었습니다. (기본), IPC 세마포어 잠금 장치, Linux Futex 잠금, PTHREAD MUTEX 잠금 및 스핀 잠금 장치. 다음 링크를 클릭 하여이 프레젠테이션을 볼 수 있습니다. APC@Facebook
이 소스 코드 중 하나가 릴리스 된 경우 어딘가에 git 또는 svn 저장소에서 어떤 사람이 릴리스되었는지 알고 있는지 궁금하십니까? 기본 파일 잠금에서 다른 선택 중 하나로 전환하는 속도 이점은 중요한 것으로 보입니다.
해결책
예, 이용 가능한 소스 코드에 포함되어 있습니다. http://pecl.php.net/package/apc.
편집 시간에 더 정확하게 선택해야합니다. ./configure 시각. 다음은 관련 옵션입니다 ./configure:
--enable-apc-sem Enable semaphore locks instead of fcntl
--disable-apc-pthreadmutex Disable pthread mutex locking
--enable-apc-spinlocks Enable spin locks EXPERIMENTAL
보시다시피, pthread mutex 잠금은 이미 기본값입니다.
다른 팁
vi /etc/php.d/99_apc.ini
그런 다음 설정 :
; Locking type = spinlock
extension = apc-spinlocks.so
또는
; Locking type = IPC Semaphore
extension = apc-sem.so
등.
제휴하지 않습니다 StackOverflow