2010-05-27 5 views
0

Vista 64bit 시스템에서 Apache 모듈로 실행되는 Apache/2.2.15 (VC9) 및 PHP/5.3.2 (VC9 스레드 안전)가 있습니다. 모두 잘 돌아갑니다.APC 감소 PHP 성능 ??? (php 5.3, apache 2.2, windows vista 64bit)

내가 벤치마킹하고있는 프로젝트 (아파치의 ab 유틸리티 사용)는 기본적으로 db 연결이 필요없는 표준 젠드 프레임 워크 프로젝트입니다. 평균 (중앙값) 아파치 응답은 약 0.15 초입니다.

표준 설정으로 APC (3.1.4-dev VC9 thread safe)를 설치 한 후 갑자기 요청 응답 시간이 1.3 초 (!)으로 증가했습니다. 모든 apc 설정은 항상 좋았습니다. (apc.php 스크립트를 통해 : 충분한 shm 메모리, 전체 캐시 없음, 단편화 0 %).

유일한 차이점은 통계 조회를 사용하지 않는 것입니다 (apc.stat = 0). 그런 다음 응답은 0.09 초으로 떨어졌으며 결국 apc없이 응답 한 것보다 좋았습니다. IIRC, 통계 조회가 약간의 오버 헤드를 발생시키는 것은 당연한 일이지만, apc 확장 기능을 전혀 사용하지 않는 것보다 훨씬 더 성능이 좋지 않아야합니까?

다른 방식으로 말해서 apc.stat에서 오버 헤드가 너무 많이 발생하는 이유는 무엇입니까?

+1

누군가 Windows 시스템에서 성능 문제를 테스트 할 수 없다고 생각합니다. –

+0

어디에서 apc 3.1.4-dev를 얻었습니까? – moo

답변

1

stat 검사가 파일 캐시를 우회하는 것처럼 들리지만 Microsoft NT조차도 파일 캐시가 일관성을 유지할 수 있다고 생각하고 싶습니다.

(FWIW : APC와 내 경험이 리눅스에 큰 향상을 준 것이 었습니다)

내가 다른 파일 시스템을 시도하는 게 좋을 것을 -하지만 NT와 선택의 여지가 많지 않다. 당신이 당신의 결과 (아파치를 테스트 사이에 다시 시작하거나 다시 시작 했습니까?) 다음 http://bugs.php.net/에서 버그를 게시 확신이 있다면

(분명히 이미 관련 아무것도 할 수없는 것)

C.

편집

는 그냥 나에게 발생 ..athough - 테스트를 실행하는 동안 시스템 메모리에 무슨 일이 일어나고 있는지? ab의 인스턴스와 함께 모든 실제 메모리를 다 사용한 경우 파일 캐시가 없습니다.

1

업데이트 : 나는 주요 slowdow는 바이러스 백신 소프트웨어로 인해 발생 것을 ... 나는 그 (왜에만 APC)와 함께 발생하는 이유를 이해하지 않습니다 발견,하지만 그것은 더 이상 (참고 아무 문제 없습니다 :이입니다 dev에 기계)

지금 APC 실행하는 경우 (apc.stat = 1) 응답 시간은 APC (0.15 초)없이보다 조금 더 나은 주위 0.13 초 있습니다. 기대했던 것보다 훨씬 좋지는 않지만 지금 당장 떠날 것입니다 ...

답변 해 주신 고맙습니다.

0

안티 바이러스는 바보입니다. APC가 실행되고 출력을 생성 할 때마다 새 응용 프로그램이 있으며이를 다시 검사 할 것이라고 생각할 것입니다. AV가 컴파일 된 파일을 검사하지 못하도록하는 것이 더 나을지라도 "apc.cache_by_default = Off"캐싱을 사용하지 않으면 개선이 필요합니다.