Table des matières
1. Activer l'extension APC
2. Désactiver le mode débogage
4. Utiliser la technologie de mise en cache
5. Optimisation de la base de données
6. Réduire les fichiers de script
Maison développement back-end tutoriel php Yii Framework Official Guide Series 52 - Sujet spécial : Optimisation des performances

Yii Framework Official Guide Series 52 - Sujet spécial : Optimisation des performances

Feb 16, 2017 am 10:00 AM



Les performances des applications Web sont affectées par de nombreux facteurs. L'accès aux bases de données, les opérations du système de fichiers, la bande passante du réseau, etc. sont autant de facteurs d'influence potentiels. Yii a réduit l’impact des frameworks sur les performances sous divers aspects. Mais il existe encore de nombreux endroits dans les applications utilisateur qui peuvent être améliorés pour améliorer les performances.

1. Activer l'extension APC

L'activation de l'extension PHP APC est probablement le moyen le plus simple d'améliorer les performances globales d'une application. Cette extension met en cache et optimise le code intermédiaire PHP et évite le temps passé à analyser les scripts PHP pour chaque nouvelle requête.

2. Désactiver le mode débogage

La désactivation du mode débogage est un autre moyen simple d'améliorer les performances. Si la constante YII_DEBUG est définie sur true, cette application Yii s'exécutera en mode débogage. Le mode débogage est utile pendant la phase de développement, mais il affecte les performances car certains composants entraînent une surcharge système supplémentaire. Par exemple, l'enregistreur de messages enregistrera des informations de débogage supplémentaires pour chaque message enregistré.

3. Utilisez yiilite.php

Lorsque l'extension PHP APC est activée, nous pouvons remplacer yii.php par un autre fichier de démarrage nommé yiilite.php pour améliorer encore les performances des applications basées sur Yii.

Fichier yiilite.php inclus avec chaque version de Yii. Il s'agit d'un fichier fusionné de certains fichiers de classe Yii couramment utilisés. Dans le fichier, les commentaires et les instructions de trace sont supprimés. Par conséquent, l'utilisation de yiilite.php réduira le nombre de fichiers référencés et évitera d'exécuter des instructions de trace.

Notez que l'utilisation de yiilite.php sans activer APC réduira en fait les performances car yiilite.php contient certaines classes qui ne sont pas requises pour chaque requête, ce qui prendra un temps d'analyse supplémentaire. Notez également que l'utilisation de yiilite.php sera plus lente sur certaines configurations de serveur, même si APC est activé. Il est préférable d'exécuter un programme de référence en utilisant hello world à partir de la démo pour décider d'utiliser yiilite.php ou non.

4. Utiliser la technologie de mise en cache

Comme mentionné dans le chapitre Mise en cache, Yii propose plusieurs solutions de mise en cache qui peuvent améliorer efficacement les performances. Si la génération de certaines données prend beaucoup de temps, on peut utiliser la méthode du cache de données pour réduire la fréquence de génération des données si une partie de la page reste relativement fixe, on peut utiliser la méthode du cache de fragments pour réduire sa fréquence de rendu ; une page entière reste relativement fixe. Fixe, nous pouvons utiliser la méthode de mise en cache des pages pour économiser le coût de rendu des pages.

Si l'application utilise Active Record, nous devons activer le cache de structure de données pour gagner du temps dans l'analyse de la structure de la table de données. Cela peut être accompli en définissant la propriété CDbConnection::schemaCachingDuration sur une valeur supérieure à 0.

En plus de ces technologies de mise en cache au niveau des applications, nous pouvons également utiliser des solutions de mise en cache au niveau des services pour améliorer les performances des applications. En fait, le cache PHP APC que nous avons décrit précédemment entre dans cette catégorie. Il existe également d'autres technologies de serveur, telles que Zend Optimizer, eAccelerator, Squid, et d'autres ne sont pas répertoriées une par une.

5. Optimisation de la base de données

La récupération des données de la base de données est souvent le principal goulot d'étranglement d'une application réseau. Même si l’utilisation de la mise en cache peut réduire les pertes de performances, elle ne résout pas le problème sous-jacent. Lorsque la base de données contient une grande quantité de données et que les données mises en cache ne sont pas valides, l'obtention des données les plus récentes nécessitera beaucoup de ressources sans une bonne conception d'optimisation de la base de données et des requêtes.

Des index intelligemment conçus dans une base de données. Un index peut rendre les requêtes SELECT plus rapides, mais il peut rendre les requêtes INSERT, UPDATE ou DELETE plus lentes.

Pour les requêtes complexes, il est recommandé de créer une vue de base de données au lieu de générer des instructions de requête via le code PHP et de laisser le SGBD les analyser à plusieurs reprises.

N’abusez pas d’Active Record. Bien qu'Active Record soit efficace pour modéliser des données dans un style POO, il réduit en réalité les performances car il nécessite la création d'un ou plusieurs objets pour représenter chaque résultat de requête. Pour les applications gourmandes en données, l'utilisation d'interfaces DAO ou de base de données au niveau inférieur sera un meilleur choix.

Dernier point mais non le moindre, utilisez SELECT dans votre requête LIMIT. Cela évitera de récupérer trop de données de la base de données et d'épuiser la mémoire allouée à PHP.

6. Réduire les fichiers de script

Les pages complexes nécessitent souvent l'introduction de nombreux fichiers JavaScript et CSS externes. Étant donné que chaque fichier entraînera un aller-retour supplémentaire, nous devons minimiser le nombre de fichiers de script en combinant les fichiers. Nous devrions également envisager de réduire la taille de chaque fichier de script pour réduire le temps de transfert réseau. Il existe de nombreux outils pour aider à améliorer ces deux aspects.

Pour une page générée par Yii, l'exception concerne certains fichiers de script rendus par des composants que nous ne souhaitons pas modifier (par exemple, les composants principaux de Yii, les composants tiers). Pour minimiser ces fichiers de script, nous avons besoin de deux étapes.

Remarque : Les scriptMap fonctionnalités décrites ci-dessous sont prises en charge depuis la version 1.0.3.

Tout d'abord, déclarez le script à minimiser en configurant l'attribut scriptMap du composant d'application clientScript. Cela peut être fait dans la configuration de l'application ou configuré dans le code. Par exemple,


$cs=Yii::app()->clientScript;
$cs->scriptMap=array(
    'jquery.js'=>'/js/all.js',
    'jquery.ajaxqueue.js'=>'/js/all.js',
    'jquery.metadata.js'=>'/js/all.js',
    ......
);
Copier après la connexion

Le code ci-dessus fait mapper ces fichiers JavaScript à l'URL /js/all.js. Si l'un de ces fichiers JavaScript doit être inclus par un composant, Yii inclura cette URL (une fois) au lieu de chaque fichier de script individuel.

Deuxièmement, nous devons utiliser un outil pour combiner (et compresser) les fichiers JavaScript en un seul fichier et l'enregistrer sous js/all.js.

La même astuce fonctionne également pour les fichiers CSS.

Avec l'aide de l'API des bibliothèques Google AJAX, nous pouvons améliorer la vitesse de chargement des pages. Par exemple, nous pourrions extraire jquery.js des serveurs de Google au lieu des nôtres. Pour ce faire, nous configurons d'abord scriptMap comme suit,


$cs=Yii::app()->clientScript;
$cs->scriptMap=array(
    'jquery.js'=>false,
    'jquery.ajaxqueue.js'=>false,
    'jquery.metadata.js'=>false,
    ......
);
Copier après la connexion

en mappant ces fichiers de script Lorsque faux , nous empêchons Yii de générer du code qui importe ces fichiers. Comme alternative, nous écrivons le code suivant dans la page pour importer directement des fichiers depuis Google,

<head>
<?php echo CGoogleApi::init(); ?>

<?php echo CHtml::script(
    CGoogleApi::load(&#39;jquery&#39;,&#39;1.3.2&#39;) . "\n" .
    CGoogleApi::load(&#39;jquery.ajaxqueue.js&#39;) . "\n" .
    CGoogleApi::load(&#39;jquery.metadata.js&#39;)
); ?>
......
</head>
Copier après la connexion

Ce qui précède est la série 52 du guide officiel du framework Yii - Sujet spécial : réglage des performances. Contenu, et plus Pour le contenu associé, veuillez prêter attention au site Web PHP chinois (www.php.cn) !

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Développement d'API RESTful dans le framework Yii Développement d'API RESTful dans le framework Yii Jun 21, 2023 pm 12:34 PM

Yii est un framework MVC hautes performances basé sur PHP. Il fournit un ensemble très riche d'outils et de fonctions pour prendre en charge le développement rapide et efficace d'applications Web. Parmi eux, la fonction RESTfulAPI du framework Yii a attiré de plus en plus l'attention et l'amour des développeurs, car l'utilisation du framework Yii peut facilement créer des interfaces RESTful hautes performances et facilement évolutives, offrant un support solide pour le développement d'applications Web. Introduction à RESTfulAPI RESTfulAPI est un

Comment optimiser et régler les paramètres du noyau d'un système Linux pour améliorer les performances Comment optimiser et régler les paramètres du noyau d'un système Linux pour améliorer les performances Jun 29, 2023 am 10:24 AM

Comment optimiser et ajuster les paramètres du noyau d'un système Linux pour améliorer les performances Résumé : Le système d'exploitation Linux est l'un des systèmes d'exploitation les plus populaires au monde, avec des performances puissantes et des options de configuration flexibles. Cet article décrit comment améliorer les performances en optimisant et en ajustant les paramètres du noyau de votre système Linux. En commençant par comprendre la signification des paramètres du noyau, nous explorerons les techniques courantes de réglage des performances, notamment la gestion de la mémoire, les E/S disque, le réseau et le planificateur. Grâce à ces optimisations et ajustements, les utilisateurs peuvent mieux utiliser le système Linux et améliorer l'efficacité du travail.

Middleware du framework Yii : prise en charge de plusieurs stockages de données pour les applications Middleware du framework Yii : prise en charge de plusieurs stockages de données pour les applications Jul 28, 2023 pm 12:43 PM

Middleware du framework Yii : fournir une prise en charge de plusieurs stockages de données pour les applications Introduction Le middleware (middleware) est un concept important dans le framework Yii, qui fournit une prise en charge de plusieurs stockages de données pour les applications. Le middleware agit comme un filtre, insérant du code personnalisé entre les requêtes et les réponses d'une application. Grâce au middleware, nous pouvons traiter, vérifier, filtrer les demandes, puis transmettre les résultats traités au middleware suivant ou au gestionnaire final. Le middleware du framework Yii est très simple à utiliser

Comment utiliser le framework Yii en PHP Comment utiliser le framework Yii en PHP Jun 27, 2023 pm 07:00 PM

Avec le développement rapide des applications Web, le développement Web moderne est devenu une compétence importante. De nombreux frameworks et outils sont disponibles pour développer des applications web efficaces, parmi lesquels le framework Yii est très populaire. Yii est un framework PHP hautes performances basé sur des composants qui utilise les derniers modèles de conception et technologies, fournit des outils et des composants puissants et est idéal pour créer des applications Web complexes. Dans cet article, nous verrons comment utiliser le framework Yii pour créer des applications Web. Installez d'abord le framework Yii,

Étapes pour mettre en œuvre la mise en cache des pages Web et la segmentation des pages à l'aide du framework Yii Étapes pour mettre en œuvre la mise en cache des pages Web et la segmentation des pages à l'aide du framework Yii Jul 30, 2023 am 09:22 AM

Étapes pour mettre en œuvre la mise en cache et la segmentation de pages Web à l'aide du framework Yii Introduction : Au cours du processus de développement Web, afin d'améliorer les performances et l'expérience utilisateur du site Web, il est souvent nécessaire de mettre en cache et de fragmenter la page. Le framework Yii fournit de puissantes fonctions de mise en cache et de mise en page, qui peuvent aider les développeurs à mettre en œuvre rapidement la mise en cache et la segmentation de pages Web. Cet article explique comment utiliser le framework Yii pour implémenter la mise en cache et la segmentation de pages Web. 1. Activez la mise en cache des pages Web Dans le framework Yii, la mise en cache des pages Web peut être activée via le fichier de configuration. Ouvrez le fichier de configuration principal co

Créer un site Web de guide de jeu en utilisant le framework Yii Créer un site Web de guide de jeu en utilisant le framework Yii Jun 21, 2023 pm 01:45 PM

Ces dernières années, avec le développement rapide de l'industrie du jeu, de plus en plus de joueurs ont commencé à rechercher des stratégies de jeu pour les aider à réussir. Par conséquent, la création d’un site Web de guides de jeu peut permettre aux joueurs d’obtenir plus facilement des guides de jeu, et en même temps, cela peut également offrir aux joueurs une meilleure expérience de jeu. Lors de la création d'un tel site Web, nous pouvons utiliser le framework Yii pour le développement. Le framework Yii est un framework de développement d'applications web basé sur le langage de programmation PHP. Il présente les caractéristiques d'une efficacité élevée, d'une sécurité et d'une forte évolutivité, et peut nous aider à créer un guide de jeu plus rapidement et plus efficacement.

Yii Framework Middleware : ajoutez des fonctionnalités de journalisation et de débogage à votre application Yii Framework Middleware : ajoutez des fonctionnalités de journalisation et de débogage à votre application Jul 28, 2023 pm 08:49 PM

Middleware du framework Yii : ajouter des fonctionnalités de journalisation et de débogage aux applications [Introduction] Lors du développement d'applications Web, nous devons généralement ajouter des fonctionnalités supplémentaires pour améliorer les performances et la stabilité de l'application. Le framework Yii fournit le concept de middleware qui nous permet d'effectuer certaines tâches supplémentaires avant et après que l'application traite la requête. Cet article explique comment utiliser la fonction middleware du framework Yii pour implémenter les fonctions de journalisation et de débogage. [Qu'est-ce qu'un middleware] Le middleware fait référence au traitement des demandes et des réponses avant et après que l'application traite la demande.

Comment utiliser des contrôleurs pour gérer les requêtes Ajax dans le framework Yii Comment utiliser des contrôleurs pour gérer les requêtes Ajax dans le framework Yii Jul 28, 2023 pm 07:37 PM

Dans le framework Yii, les contrôleurs jouent un rôle important dans le traitement des requêtes. En plus de gérer les requêtes de pages régulières, les contrôleurs peuvent également être utilisés pour gérer les requêtes Ajax. Cet article expliquera comment gérer les requêtes Ajax dans le framework Yii et fournira des exemples de code. Dans le framework Yii, le traitement des requêtes Ajax peut s'effectuer à travers les étapes suivantes : La première étape consiste à créer une classe contrôleur (Controller). Vous pouvez hériter de la classe de contrôleur de base yiiwebCo fournie par le framework Yii

See all articles