쿼리를 고치고 나니 이번에는 PHP 자체가 보였다. 서버에 OPcache가 켜져 있긴 했지만 기본값 그대로였다. 파일 수가 많은 프레임워크에서는 기본 메모리가 금방 찬다.
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=32
opcache.max_accelerated_files=20000
opcache.validate_timestamps=1
opcache.revalidate_freq=60확인하는 법
opcache_get_status()로 캐시 적중률과 남은 메모리를 본다.- 적중률이 99% 아래라면 메모리나 파일 수 한도를 늘린다.
- 배포 직후에는 FPM을 다시 불러와 캐시를 비운다.
| 항목 | 기본값 | 바꾼 값 |
|---|---|---|
| memory_consumption | 128 | 256 |
| max_accelerated_files | 10000 | 20000 |
| 캐시 적중률 | 96.2% | 99.8% |
응답 시간 평균이 210ms에서 160ms로 더 내려갔다. 코드 한 줄 안 건드리고 얻은 25%.
코드 한 줄
