본문 바로가기
2024.03.19 16:21
Opcache 설정 설명
조회 수 213 추천 수 0 댓글 0

단축키

Prev이전 문서

Next다음 문서

단축키

Prev이전 문서

Next다음 문서

; Zend Opacache 활성화 여부 결정

opcache.enable=1

; PHP CLI 버전에서 Zend Opcache 활성화 여부 결정

opcache.enable_cli=1

; Opcache 공유 메모리 저장소 사이즈

opcache.memory_consumption=128

; 메모리에서 interned 문자열을 위해 사용할 메모리량

opcache.interned_strings_buffer=8

; Opcache 해쉬 테이블에서 가질수 있는 키값의 최대값(200~100000 사이에 값만 가질 수 있음)

opcache.max_accelerated_files=4000

; 공유 메모리 저장소 할당을 위해서 변화된 것들에 대해 얼마나 자주 파일 타임 스탬프를 체크(초단위)할지 ( 0은 늘 검사)

opcache.revalidate_freq=60

; 활성화 시 accelerated code 에 대해서 사용되어짐

opcache.fast_shutdown=1

; 활성화 시 Opcache는 현재 작업디렉토리를 스크립트 키에 추가하고, 같은 이름을 가진 파일들 사이에 가능한 충돌을 제거한다.

; 비활성화 시 성능이 향상되지만, 존재하는 애플리케이션이 깨질 수 있음.

opcache.use_cwd=1

; 비활성화 시, Opcache 를 수동으로 리셋해주거나, 파일시스템이 변한것에 대해 효과를 얻기위해서는 웹서버를 재시작 해야함.

opcache.validate_timestamps=1

; 재시작이 스케줄 될때까지 "wasted" 최대 메모리 비율

opcache.max_wasted_percentage=5

출처: https://jlblog.me/100 [JLBlog]

==========================================

4.2. php.ini에서 OPcache 설정

php.ini 파일을 열어보면 OPcache 관련해 앞에 주석 처리된 명령문들이 많이 있습니다.

이 명령문 중에서 상호 관련이 있는 변수는 opcache.memory_consumption, pcache.max_accelerated_files, opcache.max_wasted_percentage의 3가지로 서로 충돌이 나지 않토록 설정하는 게 관건으로 보입니다.

opcache.memory_consumption은 기본값이 64MB로 되어 있는데요.

메모리의 여유가 있다면 늘려주는 게 좋을 것 같습니다. 원래 256MB를 설정했는데,

OPcache 모니터링 프로그램으로 며칠 살펴보니 70MB이하로 사용되고 있어서 96MB로 최종 설정했습니다.

opcache.max_accelerated_files은 한번에 처리하는 캐시 파일 수 인데요.

이는 200에서 1,000,000사이의 값을 넣게 되어 있고 기본값은 2000입니다.

램에 여우가 있다면 기본보다 높이는게 좋겠죠. 저는 100,000으로 설정했습니다만

실제로 1,300개 정도 사용되고 있는 것으로 보아 개인 사이트라면 10,000정도면 충분할 것 같습니다.

opcache.max_wasted_percentage는 Opcache가 재시작을 해야할 시 버려야하는 비율을 정하는 것입니다.

기본값은 5%로 되어 있습니다. 일반적으로 기본보다 더 높여주는 것 같습니다.

opcache.revalidate_freq는 php소스 변경 확인 간격을 말하는데요.

개발자라면 이를 0으로 놓아 바로 바로 확인토록 하고, 일반인이라면 60 또는 180으로 설정합니다.

그외 일반적으로 꼭 하는 설정들은 아래에 적어 보았습니다.

opcache.enable=1 ; Opcache 사용여부 설정, 1일때 활성화 됨

opcache.interned_strings_buffer=8

opcache.max_accelerated_files=100,000 ; 최대 파일갯수 설정

opcache.revalidate_freq=180 ; php 소스 변경확인시간 60sec

opcache.validate_timestamps=2 ; php 소스 수정 확인

opcache.fast_shutdown=1

opcache.enable_cli=0 ; 명령행 버전의 PHP에서도 opcache 적용할지 여부

opcache.use_cwd=1 ;같은 이름을 가진 파일들사이에서 가능한 충돌 제거

4.3. OPcache 모니터링

이렇게 OPcache를 설정했으면 이 OPcache가 어떻게 작동하고 있는지 모니터링하고 혹시 수정할게 있는지 확인하는 게 좋을 것 같습니다.

이 모니터링 프로그램은 PHP’s Zend Opcache Config & Web Viewer 에서

세가지 프로그램을 소개하고 있는데요.

저는 이중에서 Opcache-Status by Rasmus Lerdorf를 설치해 사용하고 있습니다.

cd /var/www/example.com/ # 설치하고 싶은 디렉토리로 이동

wget https://raw.github.com/rlerdorf/opcache-status/master/opcache.php

설치 후 인터넷 브라우저에서

설치주소/opcache.php 명령으로 모니터링 프로그램을 볼 수 있습니다.

아래 이미지가 모니터링 프로그램으로 확인한 내용입니다.

5. 마무리하면서

이상으로 간단히 OPcache에 대해서 살펴보았습니다.

단일 사이트에서 OPcache는 굉장히 효율적인 툴로 보입니다.

더우기 올해 PHP가 7.x에서 8.0으로 업그레이드가 되면 더욱 유용할 것으로 보입니다.

저는 Page Caching은 FastCGI를 적용하고, PHP Script Cache는 여기서 설명한 OPcache를 적용하며,

데이타베이스 관련해 Memcached를 적용해 사용하고 있습니다.

지금까지 성과는 나름 만족스럽습니다.

FastCGI나 Memcached에 대해서는 아래 포스팅을 참조하시기 바랍니다.

출처 : https://happist.com/549007/opcache%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EC%86%8D%EB%8F%84-%EC%B5%9C%EC%A0%81%ED%99%94-%EB%B0%A9%EC%95%88/




List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 에디터 업데이트+) GPT AI 기능을 포함하여 강력한 도구들을 사용해보세요 ⬆️ file 🍀플로버404 2024.04.16 446
공지 덕질 공통 이용규칙 및 안내 (업데이트중+ 2024-04-13) 😀컴덕824 2024.04.14 752
공지 1000P를 모으면 다이소 상품권 1000원을 신청할 수 있습니다. file Private 2024.02.14 2642
52 claudebot 클로드봇 수집 공격 1 😀익명892 2024.04.18 95
51 이젠 병원에 UX개발 프로세스가 필요하다. file 😀익명100 2024.04.14 342
50 Redis 및 캐시 일관성 문제 file 😀익명461 2024.04.14 303
49 GPT-4 Turbo가 다시 왕좌에 올랐고 ChatGPT가 무료로 업그레이드되었습니다! file 😀익명996 2024.04.14 351
48 6가지 Devin 대안 살펴보기: 프로그래밍 작업 자동화 😀익명328 2024.04.14 314
» Opcache 설정 설명 file 😀익명681 2024.03.19 213
46 혼자 공부할 수 있는 프로그래밍 강의 링크 모음(국내) 😀익명400 2024.03.15 754
45 MIT 공개강좌 - 공짜(무료) 컴퓨터 과학 & 프로그래밍 입문 (python) 😀익명116 2024.03.10 506
44 WebRTC API 😀익명128 2024.03.10 462
43 진짜 서버 만들었습니다 file 😀익명210 2024.03.09 535
42 Pi-KVM, 라즈베리 파이를 이용하여 KVM over IP file 😀익명149 2024.03.09 515
41 IT 온라인 교육 사이트 모음 (21개 사이트) 😀익명811 2024.03.05 478
40 Apache Pulsar 2023년 검토 file 😀익명479 2024.02.08 213
39 Visual Studio Code를 위한 10가지 개발 팁 file 😀익명654 2024.02.08 247
38 효율적인 웹 개발을 위한 10가지 Visual Studio Code 확장 file 😀익명863 2024.02.08 243
37 웹 개발에 매우 ​​유용한 10가지 Github 저장소 file 😀익명538 2024.02.08 247
36 10가지 매우 유용한 Python 라이브러리 😀익명355 2024.02.08 280
35 AI 엔지니어링을 위한 상위 5개 JavaScript 도 file 😀익명991 2024.02.08 233
34 DNS 전파를 확인하는 7가지 사이트 😀익명750 2023.11.20 42
33 도메인 사이트주소 접속이 안될때 DNS 캐시 플러시 하는방법 (웹개발자가 봐야하는) file 😀익명174 2023.11.19 44
Board Pagination Prev 1 2 3 Next
/ 3