이 글은 ThinkPHP5.1에 대한 관련 지식을 제공합니다. 주로 CDN이 무엇인지 소개합니다. 왜 그것을 사용합니까? ThinkPHP5.1 MISS 캐시 미스 문제를 해결하는 방법은 무엇입니까? 관심 있는 친구들은 아래를 살펴보시면 모두에게 도움이 되길 바랍니다.
ThinkPHP5.1은 CDN 가속-MISS 캐시 미스 솔루션을 사용합니다
홈페이지에만 CDN 가속을 구성한 후 X-Cache: MISS TCP_MISS dirn:-2:-2가 나타나고 MISS는 캐시에 맞지 않습니다. . 이 문제는 구성 오류가 아니라 프레임워크 문제입니다.
왜 CDN을 사용하나요?
"CDN 소개 CDN의 정식 이름은 콘텐츠 전달 네트워크인 Content Delivery Network입니다.
CDN을 사용하는 이유는 무엇입니까?
CDN에서 가까운 노드에 액세스하면 웹 사이트 로딩 속도가 향상되고 대기 시간이 단축됩니다. 전환 역할.
동적 및 정적 분리를 사용하여 웹 사이트 액세스 속도를 향상시킵니다.
구성 구현
대규모 동시 및 높은 트래픽 처리를 실제로 테스트하기 위해 이것을 프로덕션 환경에 배포했습니다. , 단점이 많습니다
환경
서버: Tencent Cloud시스템: CentOS7프레임워크: ThinkPHP5.1Alibaba Cloud OSS+CDN을 사용하고 캐시를 구성합니다물론, 등록된 도메인 이름 Alibaba Cloud OSS 객체 스토리지 시스템 사용 방법에 대해 Laravel6.x는 이 기사에 설명된 대로 Alibaba Cloud Oss Object Storage에 비디오를 업로드합니다. 버킷이 생성되면 'Alibaba Cloud CDN Acceleration'을 볼 수 있습니다. 목록에서 관련 CDN 작업을 수행하려면 이를 클릭하세요.Problem
홈페이지에만 CDN 가속을 구성한 후 X-Cache: MISS TCP_MISS dirn:- 2:-2가 나타나면 MISS는 캐시가 적중되지 않았다는 의미입니다. 이 문제는 구성 문제가 아니라 프레임워크 문제입니다.해결 방법은 다음과 같습니다.
1단계: 캐시 읽기/설정 public/index.php
<?php namespace think; // 设置缓存限制 session_cache_limiter('public'); require __DIR__ . '/../thinkphp/base.php'; Container::get('app')->run()->send();
2단계: 요청 열기. Cache
// 文件位置: config/app.php 'request_cache' => true,
ab 스트레스 테스트
다음 스트레스 테스트는 CDN+OSS 이후의 결과입니다. 573$ ab -c100 -n1000 你的页面URL This is ApacheBench, Version 2.3 <$Revision: 1430300 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking miaosha.nikexu.com (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: Tengine Server Hostname: miaosha.nikexu.com Server Port: 80 Document Path: / Document Length: 774 bytes Concurrency Level: 100 Time taken for tests: 1.745 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 1403829 bytes HTML transferred: 774000 bytes Requests per second: 573.16 [#/sec] (mean) Time per request: 174.472 [ms] (mean) Time per request: 1.745 [ms] (mean, across all concurrent requests) Transfer rate: 785.76 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 15 17 1.5 16 25 Processing: 18 91 113.4 71 1195 Waiting: 18 90 113.4 71 1195 Total: 36 107 113.4 87 1212 Percentage of the requests served within a certain time (ms) 50% 87 66% 99 75% 103 80% 105 90% 120 95% 195 98% 437 99% 834 100% 1212 (longest request)500 동시 스트레스 테스트를 살펴보겠습니다
ab -c500 -n10000 你的页面URL Requests per second: 965.61 [#/sec] (mean) Time per request: 517.806 [ms] (mean) Time per request: 1.036 [ms] (mean, across all concurrent requests) Percentage of the requests served within a certain time (ms) 50% 257 66% 319 75% 541 80% 1043 90% 1102 95% 1281 98% 1560 99% 1821 100% 3771 (longest request)이 두 가지 방법은 동시성을 제공하는 것을 이미 볼 수 있으며, 80%의 사용자가 사용하기 전에 약 1초 안에 열 수 있습니다. CDN+OSS, 내 스트레스 테스트 결과 150 동시성이 있었고, OSS+CDN을 사용하는 것의 장점은 자명합니다. 추천 학습: "
thinkPHP 비디오 튜토리얼"
위 내용은 ThinkPHP5.1의 MISS 캐시 미스 문제를 빠르게 해결하세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!