24시간도 채 안 되어 Cloudflare 캐시를 사용하여 웹 사이트 속도를 높이는 방법에 대한 게시물을 작성했습니다. 그러나 이후 Redis를 사용하여 대부분의 논리를 Fastify 미들웨어로 옮겼습니다. 스스로 할 수 있는 이유와 방법은 다음과 같습니다.
Cloudflare 캐시와 관련하여 두 가지 문제가 발생했습니다.
몇 가지 다른 문제(예: 패턴 일치를 사용하여 캐시를 제거할 수 없는 문제)가 있었지만 이러한 문제는 내 사용 사례에 중요하지 않았습니다.
그래서 저는 Redis를 사용하여 로직을 Fastify 미들웨어로 옮기기로 결정했습니다.
[!참고]
이미지 캐싱을 위해 Cloudflare 캐시를 떠났습니다. 이 경우 Cloudflare 캐시는 효과적으로 CDN으로 작동합니다.
다음은 Fastify를 사용하여 응답을 캐시하기 위해 작성한 미들웨어의 주석 버전입니다.
주석은 코드를 안내하지만 다음은 몇 가지 핵심 사항입니다.
여러 위치에서 대기 시간 테스트를 실행하고 각 URL에 대해 가장 느린 응답 시간을 포착했습니다. 결과는 아래와 같습니다:
URL | 국가 | 원본 응답 시간 | Cloudflare 캐시 응답 시간 | 캐시된 응답 시간 단축 |
---|---|---|---|---|
https://pillser.com/vitamins/vitamin-b1 | us-west1 | 240ms | 16ms | 40ms |
https://pillser.com/vitamins/vitamin-b1 | 유럽-서부3 | 320ms | 10ms | 110ms |
https://pillser.com/vitamins/vitamin-b1 | australia-souteast1 | 362ms | 16ms | 192ms |
https://pillser.com/supplements/vitamin-b1-3254 | us-west1 | 280ms | 10ms | 38ms |
https://pillser.com/supplements/vitamin-b1-3254 | 유럽-서부3 | 340ms | 12ms | 141ms |
https://pillser.com/supplements/vitamin-b1-3254 | australia-souteast1 | 362ms | 14ms | 183ms |
Cloudflare 캐시에 비해 Fastify 캐시는 속도가 느립니다. 그 이유는 캐시된 콘텐츠가 여전히 원본에서 제공되는 반면 Cloudflare 캐시는 지역 엣지 위치에서 제공되기 때문입니다. 그러나 이러한 응답 시간은 좋은 사용자 경험을 달성하는 데 충분하다는 것을 알았습니다.
위 내용은 Fastify 및 Redis Cache를 사용하여 웹 사이트 속도 향상의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!