Résolvez rapidement le problème de manque de cache MISS dans ThinkPHP5.1
Cet article vous apporte des connaissances pertinentes sur ThinkPHP5.1. Il présente principalement qu'est-ce que CDN ? Pourquoi l'utiliser ? Comment résoudre le problème de manque de cache ThinkPHP5.1 MISS ? Les amis intéressés peuvent jeter un œil ci-dessous. J'espère que cela sera utile à tout le monde.
ThinkPHP5.1 utilise l'accélération CDN-MISS cache miss solution
Après avoir configuré l'accélération CDN pour la page d'accueil uniquement, X-Cache : MISS TCP_MISS dirn:-2:-2 est apparu, MISS est le cache Non touché . Ce problème n'est pas une mauvaise configuration, mais un problème de framework.
Pourquoi utiliser le CDN ?
"Introduction au CDN Le nom complet du CDN est Content Delivery Network, qui est un réseau de distribution de contenu.
Pourquoi utiliser le CDN ?
L'accès CDN aux nœuds à proximité améliore la vitesse de chargement du site Web et réduit la latence ; il peut jouer un rôle rôle de détournement. Réduisez la charge du serveur,
utilisez la séparation dynamique et statique pour améliorer la vitesse d'accès au site Web
Implémentation de la configuration
J'ai déployé cela dans un environnement de production pour tester réellement le traitement simultané à grande échelle et à fort trafic. , il y a de nombreuses lacunes
Environnement
Serveur : Tencent Cloud
Système : CentOS7
Framework : ThinkPHP5.1
Utilisez Alibaba Cloud OSS+CDN et configurez le cache
Bien sûr, vous devez également avoir un nom de domaine enregistré
Sur l'utilisation du système de stockage d'objets Alibaba. Cloud OSS, Laravel6.x télécharge des vidéos sur Alibaba Cloud Oss Object Storage comme documenté dans cet article
Une fois le compartiment créé, vous pouvez voir «Alibaba Cloud CDN Acceleration». dans la liste, cliquez dessus pour effectuer les opérations CDN associées, cela doit être résolu dans le nom de domaine après la configuration
Problème
Après avoir configuré l'accélération CDN pour la page d'accueil uniquement, X-Cache : MISS TCP_MISS dirn : - 2:-2 apparaît, MISS signifie que le cache n'est pas touché . Ce problème n'est pas un problème de configuration, mais un problème de framework
La solution est la suivante :
Étape 1 : Lire/définir le cache. limiteur dans public/index.php
<?php namespace think; // 设置缓存限制 session_cache_limiter('public'); require __DIR__ . '/../thinkphp/base.php'; Container::get('app')->run()->send();
Étape 2 : Ouvrez la demande. Cache
// 文件位置: config/app.php 'request_cache' => true,
ab stress test
Le test de stress suivant est le résultat après CDN+OSS. Vous pouvez voir que les qps peuvent. atteindre 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)
Jetons un coup d'œil au test de stress simultané de 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)
Réussi. Ces deux méthodes peuvent déjà être considérées comme fournissant une simultanéité de 500, 80 % des utilisateurs peuvent l'ouvrir en 1 seconde environ. en utilisant CDN+OSS, le résultat de mon test de stress était de 150 concurrence et le processeur était surchargé à 90 %. Les avantages de l'utilisation d'OSS+CDN sont évidents
Apprentissage recommandé : "thinkPHP Video Tutorial"
.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pour exécuter le projet ThinkPHP, vous devez : installer Composer ; utiliser Composer pour créer le projet ; entrer dans le répertoire du projet et exécuter php bin/console serve ; visiter http://localhost:8000 pour afficher la page d'accueil.

ThinkPHP dispose de plusieurs versions conçues pour différentes versions de PHP. Les versions majeures incluent 3.2, 5.0, 5.1 et 6.0, tandis que les versions mineures sont utilisées pour corriger les bogues et fournir de nouvelles fonctionnalités. La dernière version stable est ThinkPHP 6.0.16. Lorsque vous choisissez une version, tenez compte de la version PHP, des exigences en matière de fonctionnalités et du support de la communauté. Il est recommandé d'utiliser la dernière version stable pour de meilleures performances et une meilleure assistance.

Étapes pour exécuter ThinkPHP Framework localement : Téléchargez et décompressez ThinkPHP Framework dans un répertoire local. Créez un hôte virtuel (facultatif) pointant vers le répertoire racine ThinkPHP. Configurez les paramètres de connexion à la base de données. Démarrez le serveur Web. Initialisez l'application ThinkPHP. Accédez à l'URL de l'application ThinkPHP et exécutez-la.

Comparaison des performances des frameworks Laravel et ThinkPHP : ThinkPHP fonctionne généralement mieux que Laravel, en se concentrant sur l'optimisation et la mise en cache. Laravel fonctionne bien, mais pour les applications complexes, ThinkPHP peut être mieux adapté.

"Suggestions de développement : comment utiliser le framework ThinkPHP pour implémenter des tâches asynchrones" Avec le développement rapide de la technologie Internet, les applications Web ont des exigences de plus en plus élevées pour gérer un grand nombre de requêtes simultanées et une logique métier complexe. Afin d'améliorer les performances du système et l'expérience utilisateur, les développeurs envisagent souvent d'utiliser des tâches asynchrones pour effectuer certaines opérations chronophages, telles que l'envoi d'e-mails, le traitement des téléchargements de fichiers, la génération de rapports, etc. Dans le domaine de PHP, le framework ThinkPHP, en tant que framework de développement populaire, offre des moyens pratiques d'implémenter des tâches asynchrones.

Étapes d'installation de ThinkPHP : Préparez les environnements PHP, Composer et MySQL. Créez des projets à l'aide de Composer. Installez le framework ThinkPHP et ses dépendances. Configurez la connexion à la base de données. Générez le code de l'application. Lancez l'application et visitez http://localhost:8000.

ThinkPHP est un framework PHP hautes performances présentant des avantages tels que le mécanisme de mise en cache, l'optimisation du code, le traitement parallèle et l'optimisation des bases de données. Les tests de performances officiels montrent qu'il peut gérer plus de 10 000 requêtes par seconde et qu'il est largement utilisé dans les sites Web à grande échelle et les systèmes d'entreprise tels que JD.com et Ctrip dans les applications réelles.

Le service RPC basé sur ThinkPHP6 et Swoole implémente la fonction de transfert de fichiers Introduction : Avec le développement d'Internet, le transfert de fichiers est devenu de plus en plus important dans notre travail quotidien. Afin d'améliorer l'efficacité et la sécurité du transfert de fichiers, cet article présentera la méthode d'implémentation spécifique de la fonction de transfert de fichiers basée sur le service RPC basé sur ThinkPHP6 et Swoole. Nous utiliserons ThinkPHP6 comme framework Web et utiliserons la fonction RPC de Swoole pour réaliser le transfert de fichiers entre serveurs. 1. Norme environnementale
