캐싱은 데이터,코드 및 기타 개체를 메모리에 저장해서 성능을 향상 시키는 방법이다.
여기서는 Nextcloud 서버의 메모리 캐시 구성을 설치 및 구성해보겠다.
https://docs.nextcloud.com/server/16/admin_manual/configuration_server/caching_configuration.html
이글을 참조했다.
사용할 캐시에는 opcache 라고하는 PHP opcode 캐시와 웹 서버에 대한 데이터 캐싱 두가지 유형이 있다.
Opcache 는 PHP 5.5 버전 이후에 기본적으로 탑재되어있는데 PHP의 경우 코드 컴파일 -> 실행 -> 결과값 출력의 프로세스로 진행된다.
여기서 OPcache는 컴파일된 코드를 바이너리로 메모리에 캐싱해서 결과값을 빠르게 얻을 수 있게 도와준다. 즉 PHP 관련 캐싱을 관여.
그리고 데이터 베이스 쿼리 Cache 부분은 APCu 와 Memcached가 존재한다. 여기서는 개인용 서버(홈서버) 에서 추천하는 APCu를 적용할 것이다. Memcached 는 머신을 여러개 운영할때 효과적이다.(단독은 APCu)
OPcache 설치
앞서 말했듯 OPcache는 PHP 5.5 이상을 설치하면 기본적으로 포함되어있으므로 활성화가 되어있는지 확인해야한다.
ls /etc/php/7.2/fpm/conf.d/10-opcache.ini
이미 적용되어있다. 하지만 default 값으로 설정되어있으니 값을 최적화 해줘야한다.
vi /etc/php/7.2/
fpm/php.ini
/opcache 를 쳐서
opcache.enable = 1
opcache.enable_cli = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 12000
opcache.interned_strings_buffer = 8
opcache.save_comments = 1
opcache.max_wasted_percentage = 10
opcache.validate_timestamps = 1
opcache.revalidate_freq = 60
APCu 설치
앞서 내가 했던 모든 과정들을 거친상태 (php7.2-fpm 설치등등)이면 APCu가 설치되어있는지 확인해주자.
이제 /var/www/html/nextcloud/config/config.php 로 들어가서
다하면 apache2 restart 하고 홈페이지 설정을 다시 확인해보자.
이러면 하나더 완료.!