freezner

저사양 서버 성능 최적화 하기 (#4 APC 설정)

이제 저사양 VPS 서버 성능 최적화 하기의 마지막 포스팅입니다.

APC를 설치만 하고 기본 설정대로 쓰셔도 어느정도 효과는 보시겠지만 좀 더 세부적인 설정을 하고 싶으신 분들은 참고해보시기 바랍니다. 검색을 해봐도 번역 자료도 엉망이고 여기저기 있다보니 어려움이 많았습니다. 나름대로 정리는 했지만 만족스러운 내용이 될지는 모르겠습니다.

APC의 설정파일의 경로는 이전 포스팅 #3 APC 설치에서 나와있듯이 /etc/php.d/apc.ini 입니다. vi 에디터로 파일을 열어보시면 extension=apc.so 딸랑 한 줄만 보이게 될겁니다. 그럼 이 설정 파일을 채워보도록 하겠습니다.

extension=apc.so
apc.enabled=1
apc.shm_segments=1
  
;공유 메모리 사이즈, 너무 작게 설정하면 지나치게 단편화가 생기니 넉넉하게 설정해준다.
apc.shm_size=128M
   
;캐시드 파일의 갯수
apc.num_files_hint=7000

;apc가 정할 수 있는 데이터 항목의 갯수? 이해가 잘 안되지만 기본값은 4096이니 그냥 두자
apc.user_entries_hint=4096

;캐시 파일 유효시간, 설정된 시간 이후의 생성된 캐시파일은 삭제
apc.ttl=7200
apc.user_ttl=7200
apc.gc_ttl=3600

; 1로 설정 시 APC가 파일의 변경 상태를 체크하고 변경될때마다 캐시 재생성, 0으로 설정하면 체크하지 않으며 속도가 빨라짐
; 하지만 소스의 변경이 있다면 웹서버를 재시작해야함.
apc.stat=1

;1로 설정하면 APC에서 include_once/require_once를 실행하면서 성능이 향상되지만 출동 가능성이 있기 때문에 0으로 설정
apc.include_once_override=0

;CLI 디버깅 사용 여부
apc.enable_cli=0

;캐시파일이 생성된 직후 2초간 캐시파일을 재생성하지 않음 (캐시 파일 보호)
apc.file_update_protection=2

;최대 캐시파일 사이즈
apc.max_file_size=2M

;캐싱을 무시할 파일
apc.filters = "/var/www/apc.php"

apc.cache_by_default=1
apc.use_request_time=1
apc.slam_defense=0
;apc.mmap_file_mask 설정에 경로가 반드시 맞아야함.
apc.mmap_file_mask=/var/www/temp/apc.XXXXXX
apc.stat_ctime=0
apc.canonicalize=1
apc.write_lock=1
apc.report_autofilter=0
apc.rfc1867=0
apc.rfc1867_prefix =upload_
apc.rfc1867_name=APC_UPLOAD_PROGRESS
apc.rfc1867_freq=0
apc.rfc1867_ttl=3600
apc.lazy_classes=0
apc.lazy_functions=0

이게 APC 설정파일의 내용입니다. 모든 설정이 포함된 것은 아니지만 나름 정리를 해봤습니다. 설정 중 apc.mmap_file_mask 항목은 실제 파일이 저장되진 않지만 임시 데이터가 생성되는 공간입니다. 실제 경로와 맞지 않는다면 실행되지 않으니 참고바랍니다.

Exit mobile version