저사양 서버 성능 최적화 하기 (#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 항목은 실제 파일이 저장되진 않지만 임시 데이터가 생성되는 공간입니다. 실제 경로와 맞지 않는다면 실행되지 않으니 참고바랍니다.