Heim  >  Artikel  >  PHP-Framework  >  Lösen Sie schnell das MISS-Cache-Miss-Problem in ThinkPHP5.1

Lösen Sie schnell das MISS-Cache-Miss-Problem in ThinkPHP5.1

藏色散人
藏色散人nach vorne
2023-02-08 10:56:271440Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über ThinkPHP5.1. Er stellt hauptsächlich vor, was CDN ist. Warum es verwenden? Wie kann das ThinkPHP5.1 MISS-Cache-Miss-Problem gelöst werden? Freunde, die interessiert sind, können einen Blick darauf werfen. Ich hoffe, es wird für alle hilfreich sein.

Lösen Sie schnell das MISS-Cache-Miss-Problem in ThinkPHP5.1

ThinkPHP5.1 verwendet CDN-Beschleunigung – MISS-Cache-Miss-Lösung

Nachdem die CDN-Beschleunigung nur für die Homepage konfiguriert wurde, erschien X-Cache: MISS TCP_MISS dirn:-2:-2, MISS ist der Cache Nicht getroffen . Bei diesem Problem handelt es sich nicht um eine Fehlkonfiguration, sondern um ein Framework-Problem.

Warum CDN verwenden?

"Einführung in CDN Der vollständige Name von CDN ist Content Delivery Network, ein Content-Distribution-Netzwerk.

Warum CDN verwenden?

Der CDN-Zugriff auf nahegelegene Knoten verbessert die Ladegeschwindigkeit der Website und reduziert die Latenz; es kann eine Umleitungsrolle. Reduzieren Sie die Serverlast.

Verwenden Sie dynamische und statische Trennung, um die Geschwindigkeit des Website-Zugriffs zu verbessern.

Ich habe dies natürlich in einer Produktionsumgebung eingesetzt, um die Verarbeitung mit großem Datenverkehr zu testen Es gibt viele Mängel registrierter Domainname

Informationen zur Verwendung des Alibaba Cloud OSS-Objektspeichersystems: Laravel6.x lädt Videos in Alibaba Cloud Oss Object Storage hoch, wie in diesem Artikel dokumentiert

Nachdem der Bucket erstellt wurde, können Sie „Alibaba Cloud CDN Acceleration“ sehen. Klicken Sie in der Liste darauf, um entsprechende CDN-Vorgänge auszuführen.

Problem

Nach der Konfiguration der CDN-Beschleunigung nur für die Homepage: 2:-2 bedeutet, dass der Cache nicht betroffen ist, sondern ein Framework-Problem.

Schritt 1: Cache lesen/setzen limiter in public/index.php

<?php
namespace think;

// 设置缓存限制
session_cache_limiter(&#39;public&#39;);

require __DIR__ . &#39;/../thinkphp/base.php&#39;;
Container::get(&#39;app&#39;)->run()->send();

Schritt 2: Öffnen Sie den Cache 573

// 文件位置: config/app.php

&#39;request_cache&#39;          => true,

Werfen wir einen Blick auf den 500-Parallelitätstest

$ 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)

Bei einer Parallelität von 500 können 80 % der Benutzer ihn vor der Verwendung öffnen CDN+OSS, das Ergebnis meines Stresstests war 150 Parallelität, und die CPU war zu 90 % überlastet. Die Vorteile der Verwendung von OSS+CDN liegen auf der Hand

Lernempfehlung: „thinkPHP Video Tutorial

“.

Das obige ist der detaillierte Inhalt vonLösen Sie schnell das MISS-Cache-Miss-Problem in ThinkPHP5.1. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:ziruchu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen