[펌]PHP accelerator 선택 (APC, eAccelerator, XCache, Nusphere PhpExpress, Zend Optimizer+)

http://blog.naver.com/kimbumsuc?Redirect=Log&logNo=80155677456

내용 요약

APC binaries for PHP 5.x (windows builds)


http://dev.freshsite.pl/php-accelerators/apc.html



다운로드 관련
http://downloads.php.net/pierre/



테스트 적용

  • File Cache Information

    Cached Files1115 ( 54.0 MBytes)
    Hits181380
    Misses1590
    Request Rate (hits, misses)2.38 cache requests/second
    Hit Rate2.36 cache requests/second
    Miss Rate0.02 cache requests/second
    Insert Rate0.02 cache requests/second
    Cache full count0

Host Status Diagrams

Memory Usage
(multiple slices indicate fragments)
Hits & Misses
 Free: 201.8 MBytes (78.8%) Hits: 181380 (99.1%)
 Used: 54.2 MBytes (21.2%) Misses: 1590 (0.9%)


1000여개의 파일이고 54MB 사이즈를 가지고 있고
99%의 HIT률을 보인다.

좋구나.


APC 튜닝 포인트
  • apc.shm_size=256M //쉐어드메모리 사이즈: 너무 작으면 단편화가 너무 많이 생긴다. HITS보다 MISS가 더 생실 수 있으니, 넉넉히...
  • apc.stat=1 //0으로 하면 CPU사용률이 조금 내려가지만, 소스파일 수정을 체크하지 않는다. 즉, 그냥 1로 두어라.
  • apc.include_once_override=0 //1로 하면 APC에서 include_once(require_once)를 처리한다. CPU사용률이 꽤 내려가지만, PHP의 소스 작성에 따라서 에러가 발생할 수 있다.
  • apc.shm_size를 넉넉히 하고
    apc.stat=1
    apc.include_once_override=0
    일 때 CPU IDLE이 56 정도였는데
    apc.include_once_override=1로 바꾸니 거의 70까지 CPU IDLE이 높아졌다.


알아낸 버그
  • include_once 할 때 경로를 같게하라.
    • 한쪽에서는 절대경로, 한쪽에서는 상대 경로로 할경우 class 를 찾을 수 없다는 에러가 발생할 수 있다.(APC 3.1.9 버전에서 확인)
    • 해결법은 상대 경로일 경우
      include_once('../../lib/class.CCCC.php');
      ->
      include_once(dirname(__FILE_).'/../../lib/class.CCCC.php');
      처럼 바꿔서 전부 절대경로를 사용하도록 한다.
    • 아니면 APC를 끄던가.
댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
3.31
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
5.1
5.2
5.3
5.4