Inhaltsverzeichnis
1. APC-Erweiterung aktivieren
2. Debug-Modus deaktivieren
4. Caching-Technologie verwenden
5. Datenbankoptimierung
6. Skriptdateien minimieren
Heim Backend-Entwicklung PHP-Tutorial Yii Framework Offizieller Leitfaden Serie 52 – Spezialthema: Leistungsoptimierung

Yii Framework Offizieller Leitfaden Serie 52 – Spezialthema: Leistungsoptimierung

Feb 16, 2017 am 10:00 AM



Die Leistung von Webanwendungen wird von vielen Faktoren beeinflusst. Datenbankzugriffe, Dateisystemvorgänge, Netzwerkbandbreite usw. sind potenzielle Einflussfaktoren. Yii hat die Leistungsauswirkungen von Frameworks in verschiedener Hinsicht reduziert. Aber es gibt immer noch viele Stellen in Benutzeranwendungen, die verbessert werden können, um die Leistung zu verbessern.

1. APC-Erweiterung aktivieren

Die Aktivierung der PHP-APC-Erweiterung ist wahrscheinlich der einfachste Weg, die Gesamtleistung einer Anwendung zu verbessern. Diese Erweiterung speichert und optimiert PHP-Zwischencode und vermeidet den Zeitaufwand für das Parsen von PHP-Skripten für jede neue Anfrage.

2. Debug-Modus deaktivieren

Das Deaktivieren des Debug-Modus ist eine weitere einfache Möglichkeit, die Leistung zu verbessern. Wenn die Konstante YII_DEBUG auf true gesetzt ist, wird diese Yii-Anwendung im Debug-Modus ausgeführt. Der Debug-Modus ist während der Entwicklungsphase nützlich, beeinträchtigt jedoch die Leistung, da einige Komponenten zusätzlichen Systemaufwand verursachen. Beispielsweise protokolliert der Nachrichtenlogger zusätzliche Debugging-Informationen für jede protokollierte Nachricht.

3. Verwenden Sie yiilite.php

Wenn die PHP-APC-Erweiterung aktiviert ist, können wir yii.php durch eine andere Boot-Datei mit dem Namen yiilite.php ersetzen, um die Leistung von Yii-basierten Anwendungen weiter zu verbessern.

Datei yiilite.php ist in jeder Yii-Version enthalten. Es handelt sich um eine zusammengeführte Datei einiger häufig verwendeter Yii-Klassendateien. In der Datei werden Kommentare und Trace-Anweisungen entfernt. Daher verringert die Verwendung von yiilite.php die Anzahl der referenzierten Dateien und vermeidet die Ausführung von Trace-Anweisungen.

Beachten Sie, dass die Verwendung von yiilite.php ohne Aktivierung von APC tatsächlich zu einer Leistungseinbuße führt, da yiilite.php einige Klassen enthält, die nicht für jede Anfrage erforderlich sind, was zusätzliche Analysezeit in Anspruch nimmt. Beachten Sie außerdem, dass die Verwendung von yiilite.php auf einigen Serverkonfigurationen langsamer ist, selbst wenn APC aktiviert ist. Am besten führen Sie ein Benchmark-Programm mit hello world aus der Demo aus, um zu entscheiden, ob Sie yiilite.php verwenden möchten.

4. Caching-Technologie verwenden

Wie im Caching-Kapitel erwähnt, bietet Yii mehrere Caching-Lösungen, die die Leistung effektiv verbessern können. Wenn die Generierung einiger Daten lange dauert, können wir die Häufigkeit der Datengenerierung mithilfe der Daten-Cache-Methode verringern Eine ganze Seite bleibt relativ fest. Wenn dies behoben ist, können wir die Seiten-Caching-Methode verwenden, um die Kosten für das Seitenrendering zu sparen.

Wenn die Anwendung Active Record verwendet, sollten wir den Datenstruktur-Cache aktivieren, um beim Parsen der Datentabellenstruktur Zeit zu sparen. Dies kann erreicht werden, indem die CDbConnection::schemaCachingDuration-Eigenschaft auf einen Wert größer als 0 festgelegt wird.

Zusätzlich zu diesen Caching-Technologien auf Anwendungsebene können wir auch Caching-Lösungen auf Service-Ebene nutzen, um die Anwendungsleistung zu verbessern. Tatsächlich fällt der zuvor beschriebene PHP-APC-Cache in diese Kategorie. Es gibt auch andere Servertechnologien wie Zend Optimizer, eAccelerator, Squid und andere, die nicht einzeln aufgeführt sind.

5. Datenbankoptimierung

Das Abrufen von Daten aus der Datenbank ist oft der größte Engpass einer Netzwerkanwendung. Obwohl die Verwendung von Caching Leistungseinbußen reduzieren kann, löst sie das zugrunde liegende Problem nicht. Wenn die Datenbank eine große Datenmenge enthält und die zwischengespeicherten Daten ungültig sind, ist das Abrufen der neuesten Daten ohne ein gutes Datenbank- und Abfrageoptimierungsdesign sehr ressourcenintensiv.

Intelligent gestaltete Indizes in einer Datenbank. Ein Index kann SELECT-Abfragen schneller machen, aber er kann INSERT-, UPDATE- oder DELETE-Abfragen langsamer machen.

Für komplexe Abfragen wird empfohlen, eine Datenbankansicht dafür zu erstellen, anstatt Abfrageanweisungen über PHP-Code zu generieren und sie vom DBMS wiederholt analysieren zu lassen.

Missbrauchen Sie Active Record nicht. Obwohl Active Record Daten gut im OOP-Stil modellieren kann, reduziert es tatsächlich die Leistung, da ein oder mehrere Objekte erstellt werden müssen, um jedes Abfrageergebnis darzustellen. Für datenintensive Anwendungen ist die Verwendung von DAO oder Datenbankschnittstellen auf der untersten Ebene die bessere Wahl.

Zu guter Letzt verwenden Sie SELECT in Ihrer LIMIT-Abfrage. Dadurch wird vermieden, dass zu viele Daten aus der Datenbank abgerufen werden und der für PHP zugewiesene Speicher erschöpft wird.

6. Skriptdateien minimieren

Komplexe Seiten erfordern oft die Einführung vieler externer JavaScript- und CSS-Dateien. Da jede Datei einen zusätzlichen Roundtrip verursacht, sollten wir die Anzahl der Skriptdateien durch Kombinieren von Dateien minimieren. Wir sollten auch darüber nachdenken, die Größe jeder Skriptdatei zu reduzieren, um die Netzwerkübertragungszeit zu verkürzen. Es gibt viele Tools, die dabei helfen, beide Aspekte zu verbessern.

Bei einer von Yii generierten Seite bilden einige Skriptdateien eine Ausnahme, die von Komponenten gerendert werden, die wir nicht ändern möchten (z. B. Yii-Kernkomponenten, Komponenten von Drittanbietern). Um diese Skriptdateien zu minimieren, benötigen wir zwei Schritte.

Hinweis: Die unten beschriebenen scriptMap-Funktionen werden seit Version 1.0.3 unterstützt.

Deklarieren Sie zunächst das zu minimierende Skript, indem Sie das scriptMap-Attribut der Anwendungskomponente clientScript konfigurieren. Dies kann in der Anwendungskonfiguration erfolgen oder im Code konfiguriert werden. Beispiel:


$cs=Yii::app()->clientScript;
$cs->scriptMap=array(
    'jquery.js'=>'/js/all.js',
    'jquery.ajaxqueue.js'=>'/js/all.js',
    'jquery.metadata.js'=>'/js/all.js',
    ......
);
Nach dem Login kopieren

Der obige Code ordnet diese JavaScript-Dateien der URL /js/all.js zu. Wenn eine dieser JavaScript-Dateien von einer Komponente eingebunden werden muss, fügt Yii diese URL (einmal) anstelle jeder einzelnen Skriptdatei ein.

Zweitens müssen wir ein Tool verwenden, um die JavaScript-Dateien in einer einzigen Datei zu kombinieren (und zu komprimieren) und sie als js/all.js zu speichern.

Der gleiche Trick funktioniert auch für CSS-Dateien.

Mit Hilfe der Google AJAX Libraries API können wir die Seitenladegeschwindigkeit verbessern. Beispielsweise könnten wir jquery.js von den Servern von Google statt von unseren eigenen abrufen. Dazu konfigurieren wir zunächst scriptMap wie folgt:


$cs=Yii::app()->clientScript;
$cs->scriptMap=array(
    'jquery.js'=>false,
    'jquery.ajaxqueue.js'=>false,
    'jquery.metadata.js'=>false,
    ......
);
Nach dem Login kopieren

durch Zuordnen dieser Skriptdateien. Wenn falsch verhindern wir, dass Yii Code generiert, der diese Dateien importiert. Alternativ schreiben wir den folgenden Code in die Seite, um Dateien direkt von Google zu importieren:

<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>
Nach dem Login kopieren

Das Obige ist der offizielle Leitfaden zum Yii Framework, Serie 52 – Spezialthema: Leistungsoptimierung Inhalte und mehr Für verwandte Inhalte achten Sie bitte auf die chinesische PHP-Website (www.php.cn)!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

RESTful API-Entwicklung im Yii-Framework RESTful API-Entwicklung im Yii-Framework Jun 21, 2023 pm 12:34 PM

Yii ist ein leistungsstarkes MVC-Framework auf Basis von PHP. Es bietet einen sehr umfangreichen Satz an Tools und Funktionen zur Unterstützung der schnellen und effizienten Entwicklung von Webanwendungen. Unter anderem hat die RESTfulAPI-Funktion des Yii-Frameworks immer mehr Aufmerksamkeit und Liebe von Entwicklern auf sich gezogen, da mit dem Yii-Framework problemlos leistungsstarke und leicht skalierbare RESTful-Schnittstellen erstellt werden können, die die Entwicklung von Webanwendungen stark unterstützen. Einführung in RESTfulAPI RESTfulAPI ist eine

So optimieren und optimieren Sie die Kernelparameter eines Linux-Systems, um die Leistung zu verbessern So optimieren und optimieren Sie die Kernelparameter eines Linux-Systems, um die Leistung zu verbessern Jun 29, 2023 am 10:24 AM

So optimieren und passen Sie die Kernelparameter eines Linux-Systems an, um die Leistung zu verbessern. Zusammenfassung: Das Linux-Betriebssystem ist eines der beliebtesten Betriebssysteme der Welt, mit leistungsstarker Leistung und flexiblen Konfigurationsoptionen. In diesem Artikel wird beschrieben, wie Sie die Leistung verbessern, indem Sie die Kernel-Parameter Ihres Linux-Systems optimieren und anpassen. Ausgehend vom Verständnis der Bedeutung von Kernel-Parametern werden wir gängige Techniken zur Leistungsoptimierung untersuchen, einschließlich Speicherverwaltung, Festplatten-E/A, Netzwerk und Scheduler. Durch diese Optimierungen und Anpassungen können Benutzer das Linux-System besser nutzen und die Arbeitseffizienz verbessern.

Yii-Framework-Middleware: Bereitstellung mehrerer Datenspeicherunterstützung für Anwendungen Yii-Framework-Middleware: Bereitstellung mehrerer Datenspeicherunterstützung für Anwendungen Jul 28, 2023 pm 12:43 PM

Yii-Framework-Middleware: Bereitstellung mehrerer Datenspeicherunterstützung für Anwendungen Einführung Middleware (Middleware) ist ein wichtiges Konzept im Yii-Framework, das mehrere Datenspeicherunterstützung für Anwendungen bereitstellt. Middleware fungiert wie ein Filter und fügt benutzerdefinierten Code zwischen den Anforderungen und Antworten einer Anwendung ein. Mithilfe der Middleware können wir Anforderungen verarbeiten, überprüfen, filtern und die verarbeiteten Ergebnisse dann an die nächste Middleware oder den endgültigen Handler weitergeben. Middleware im Yii-Framework ist sehr einfach zu verwenden

So verwenden Sie das Yii-Framework in PHP So verwenden Sie das Yii-Framework in PHP Jun 27, 2023 pm 07:00 PM

Mit der rasanten Entwicklung von Webanwendungen ist die moderne Webentwicklung zu einer wichtigen Fähigkeit geworden. Für die Entwicklung effizienter Webanwendungen stehen viele Frameworks und Tools zur Verfügung, unter denen das Yii-Framework ein sehr beliebtes Framework ist. Yii ist ein leistungsstarkes, komponentenbasiertes PHP-Framework, das die neuesten Designmuster und Technologien nutzt, leistungsstarke Tools und Komponenten bereitstellt und sich ideal für die Erstellung komplexer Webanwendungen eignet. In diesem Artikel besprechen wir, wie Sie das Yii-Framework zum Erstellen von Webanwendungen verwenden. Installieren Sie zuerst das Yii-Framework.

Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Jul 30, 2023 am 09:22 AM

Schritte zum Implementieren von Webseiten-Caching und Seiten-Chunking mit dem Yii-Framework Einführung: Während des Webentwicklungsprozesses ist es zur Verbesserung der Leistung und Benutzererfahrung der Website häufig erforderlich, die Seite zwischenzuspeichern und zu segmentieren. Das Yii-Framework bietet leistungsstarke Caching- und Layoutfunktionen, die Entwicklern dabei helfen können, Webseiten-Caching und Seiten-Chunking schnell zu implementieren. In diesem Artikel wird erläutert, wie das Yii-Framework zum Implementieren von Webseiten-Caching und Seiten-Chunking verwendet wird. 1. Aktivieren Sie das Webseiten-Caching. Im Yii-Framework kann das Webseiten-Caching über die Konfigurationsdatei aktiviert werden. Öffnen Sie die Hauptkonfigurationsdatei co

Erstellen Sie eine Spielanleitungs-Website mit dem Yii-Framework Erstellen Sie eine Spielanleitungs-Website mit dem Yii-Framework Jun 21, 2023 pm 01:45 PM

In den letzten Jahren haben mit der rasanten Entwicklung der Spielebranche immer mehr Spieler begonnen, nach Spielstrategien zu suchen, die ihnen helfen, das Spiel zu bestehen. Daher kann die Erstellung einer Spielanleitungs-Website den Spielern den Zugang zu Spielanleitungen erleichtern und gleichzeitig den Spielern ein besseres Spielerlebnis bieten. Beim Erstellen einer solchen Website können wir das Yii-Framework für die Entwicklung verwenden. Das Yii-Framework ist ein Webanwendungsentwicklungsframework, das auf der Programmiersprache PHP basiert. Es zeichnet sich durch hohe Effizienz, Sicherheit und starke Skalierbarkeit aus und kann uns dabei helfen, einen Spielführer schneller und effizienter zu erstellen.

Yii Framework Middleware: Fügen Sie Ihrer Anwendung Protokollierungs- und Debugging-Funktionen hinzu Yii Framework Middleware: Fügen Sie Ihrer Anwendung Protokollierungs- und Debugging-Funktionen hinzu Jul 28, 2023 pm 08:49 PM

Yii-Framework-Middleware: Protokollierungs- und Debugging-Funktionen zu Anwendungen hinzufügen [Einführung] Bei der Entwicklung von Webanwendungen müssen wir normalerweise einige zusätzliche Funktionen hinzufügen, um die Leistung und Stabilität der Anwendung zu verbessern. Das Yii-Framework stellt das Konzept der Middleware bereit, das es uns ermöglicht, einige zusätzliche Aufgaben auszuführen, bevor und nachdem die Anwendung die Anfrage verarbeitet. In diesem Artikel wird erläutert, wie Sie die Middleware-Funktion des Yii-Frameworks verwenden, um Protokollierungs- und Debugging-Funktionen zu implementieren. [Was ist Middleware?] Middleware bezieht sich auf die Verarbeitung von Anfragen und Antworten vor und nach der Verarbeitung der Anfrage durch die Anwendung.

So verwenden Sie Controller zur Verarbeitung von Ajax-Anfragen im Yii-Framework So verwenden Sie Controller zur Verarbeitung von Ajax-Anfragen im Yii-Framework Jul 28, 2023 pm 07:37 PM

Im Yii-Framework spielen Controller eine wichtige Rolle bei der Bearbeitung von Anfragen. Zusätzlich zur Verarbeitung regulärer Seitenanfragen können Controller auch zur Verarbeitung von Ajax-Anfragen verwendet werden. In diesem Artikel wird erläutert, wie Ajax-Anfragen im Yii-Framework verarbeitet werden, und es werden Codebeispiele bereitgestellt. Im Yii-Framework kann die Verarbeitung von Ajax-Anfragen über die folgenden Schritte erfolgen: Erstellen Sie zunächst eine Controller-Klasse (Controller). Sie können die vom Yii-Framework bereitgestellte grundlegende Controller-Klasse yiiwebCo erben

See all articles